| File: | obj/gnu/usr.bin/perl/ext/re/re_exec.c |
| Warning: | line 8249, column 10 Dereference of null pointer |
Press '?' to see keyboard shortcuts
Keyboard shortcuts:
| 1 | /* regexec.c | |||
| 2 | */ | |||
| 3 | ||||
| 4 | /* | |||
| 5 | * One Ring to rule them all, One Ring to find them | |||
| 6 | * | |||
| 7 | * [p.v of _The Lord of the Rings_, opening poem] | |||
| 8 | * [p.50 of _The Lord of the Rings_, I/iii: "The Shadow of the Past"] | |||
| 9 | * [p.254 of _The Lord of the Rings_, II/ii: "The Council of Elrond"] | |||
| 10 | */ | |||
| 11 | ||||
| 12 | /* This file contains functions for executing a regular expression. See | |||
| 13 | * also regcomp.c which funnily enough, contains functions for compiling | |||
| 14 | * a regular expression. | |||
| 15 | * | |||
| 16 | * This file is also copied at build time to ext/re/re_exec.c, where | |||
| 17 | * it's built with -DPERL_EXT_RE_BUILD -DPERL_EXT_RE_DEBUG -DPERL_EXT. | |||
| 18 | * This causes the main functions to be compiled under new names and with | |||
| 19 | * debugging support added, which makes "use re 'debug'" work. | |||
| 20 | */ | |||
| 21 | ||||
| 22 | /* NOTE: this is derived from Henry Spencer's regexp code, and should not | |||
| 23 | * confused with the original package (see point 3 below). Thanks, Henry! | |||
| 24 | */ | |||
| 25 | ||||
| 26 | /* Additional note: this code is very heavily munged from Henry's version | |||
| 27 | * in places. In some spots I've traded clarity for efficiency, so don't | |||
| 28 | * blame Henry for some of the lack of readability. | |||
| 29 | */ | |||
| 30 | ||||
| 31 | /* The names of the functions have been changed from regcomp and | |||
| 32 | * regexec to pregcomp and pregexec in order to avoid conflicts | |||
| 33 | * with the POSIX routines of the same names. | |||
| 34 | */ | |||
| 35 | ||||
| 36 | #ifdef PERL_EXT_RE_BUILD1 | |||
| 37 | #include "re_top.h" | |||
| 38 | #endif | |||
| 39 | ||||
| 40 | /* | |||
| 41 | * pregcomp and pregexec -- regsub and regerror are not used in perl | |||
| 42 | * | |||
| 43 | * Copyright (c) 1986 by University of Toronto. | |||
| 44 | * Written by Henry Spencer. Not derived from licensed software. | |||
| 45 | * | |||
| 46 | * Permission is granted to anyone to use this software for any | |||
| 47 | * purpose on any computer system, and to redistribute it freely, | |||
| 48 | * subject to the following restrictions: | |||
| 49 | * | |||
| 50 | * 1. The author is not responsible for the consequences of use of | |||
| 51 | * this software, no matter how awful, even if they arise | |||
| 52 | * from defects in it. | |||
| 53 | * | |||
| 54 | * 2. The origin of this software must not be misrepresented, either | |||
| 55 | * by explicit claim or by omission. | |||
| 56 | * | |||
| 57 | * 3. Altered versions must be plainly marked as such, and must not | |||
| 58 | * be misrepresented as being the original software. | |||
| 59 | * | |||
| 60 | **** Alterations to Henry's code are... | |||
| 61 | **** | |||
| 62 | **** Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, | |||
| 63 | **** 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 | |||
| 64 | **** by Larry Wall and others | |||
| 65 | **** | |||
| 66 | **** You may distribute under the terms of either the GNU General Public | |||
| 67 | **** License or the Artistic License, as specified in the README file. | |||
| 68 | * | |||
| 69 | * Beware that some of this code is subtly aware of the way operator | |||
| 70 | * precedence is structured in regular expressions. Serious changes in | |||
| 71 | * regular-expression syntax might require a total rethink. | |||
| 72 | */ | |||
| 73 | #include "EXTERN.h" | |||
| 74 | #define PERL_IN_REGEXEC_C | |||
| 75 | #include "perl.h" | |||
| 76 | ||||
| 77 | #ifdef PERL_IN_XSUB_RE | |||
| 78 | # include "re_comp.h" | |||
| 79 | #else | |||
| 80 | # include "regcomp.h" | |||
| 81 | #endif | |||
| 82 | ||||
| 83 | #include "invlist_inline.h" | |||
| 84 | #include "unicode_constants.h" | |||
| 85 | ||||
| 86 | #define B_ON_NON_UTF8_LOCALE_IS_WRONG"Use of \\b{} or \\B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale" \ | |||
| 87 | "Use of \\b{} or \\B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale" | |||
| 88 | ||||
| 89 | static const char utf8_locale_required[] = | |||
| 90 | "Use of (?[ ]) for non-UTF-8 locale is wrong. Assuming a UTF-8 locale"; | |||
| 91 | ||||
| 92 | #ifdef DEBUGGING | |||
| 93 | /* At least one required character in the target string is expressible only in | |||
| 94 | * UTF-8. */ | |||
| 95 | static const char non_utf8_target_but_utf8_required[] | |||
| 96 | = "Can't match, because target string needs to be in UTF-8\n"; | |||
| 97 | #endif | |||
| 98 | ||||
| 99 | #define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target)do { do {if (__builtin_expect(((PL_debug & 0x00100000) ? ( _Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00)) ) Perl_re_printf( "%s", non_utf8_target_but_utf8_required);} while (0); goto target; } while (0) STMT_STARTdo { \ | |||
| 100 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_ "%s", non_utf8_target_but_utf8_required))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%s", non_utf8_target_but_utf8_required);} while (0);\ | |||
| 101 | goto target; \ | |||
| 102 | } STMT_ENDwhile (0) | |||
| 103 | ||||
| 104 | #define HAS_NONLATIN1_FOLD_CLOSURE(i)((! ((( (sizeof(i) == 1) || !(((U64)((i) | 0)) & ~0xFF))) ? (_Bool)1 : (_Bool)0)) || (PL_charclass[(U8) (i)] & (1U << (18)))) _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(i)((! ((( (sizeof(i) == 1) || !(((U64)((i) | 0)) & ~0xFF))) ? (_Bool)1 : (_Bool)0)) || (PL_charclass[(U8) (i)] & (1U << (18)))) | |||
| 105 | ||||
| 106 | #ifndef STATICstatic | |||
| 107 | #define STATICstatic static | |||
| 108 | #endif | |||
| 109 | ||||
| 110 | /* | |||
| 111 | * Forwards. | |||
| 112 | */ | |||
| 113 | ||||
| 114 | #define CHR_SVLEN(sv)(utf8_target ? Perl_sv_len_utf8( sv) : (*({ const SV *const _svcur = (const SV *)(sv); ((PL_valid_types_PVX[((svtype)((_svcur)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 114, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 114, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 114, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) (utf8_target ? sv_len_utf8(sv)Perl_sv_len_utf8( sv) : SvCUR(sv)(*({ const SV *const _svcur = (const SV *)(sv); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 114, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 114, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 114, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) | |||
| 115 | ||||
| 116 | #define HOPc(pos,off)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)pos, off , (U8*)(off >= 0 ? reginfo->strend : reginfo->strbeg )) : (U8*)(pos + off)) \ | |||
| 117 | (char *)(reginfo->is_utf8_target \ | |||
| 118 | ? reghop3S_reghop3((U8*)pos, off, \ | |||
| 119 | (U8*)(off >= 0 ? reginfo->strend : reginfo->strbeg)) \ | |||
| 120 | : (U8*)(pos + off)) | |||
| 121 | ||||
| 122 | /* like HOPMAYBE3 but backwards. lim must be +ve. Returns NULL on overshoot */ | |||
| 123 | #define HOPBACK3(pos, off, lim)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)pos, (ssize_t )0-off, (U8*)(lim)) : (pos - off >= lim) ? (U8*)pos - off : ((void*)0)) \ | |||
| 124 | (reginfo->is_utf8_target \ | |||
| 125 | ? reghopmaybe3S_reghopmaybe3((U8*)pos, (SSize_tssize_t)0-off, (U8*)(lim)) \ | |||
| 126 | : (pos - off >= lim) \ | |||
| 127 | ? (U8*)pos - off \ | |||
| 128 | : NULL((void*)0)) | |||
| 129 | ||||
| 130 | #define HOPBACKc(pos, off)((char*)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)pos , (ssize_t)0-off, (U8*)(reginfo->strbeg)) : (pos - off >= reginfo->strbeg) ? (U8*)pos - off : ((void*)0))) ((char*)HOPBACK3(pos, off, reginfo->strbeg)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)pos, (ssize_t )0-off, (U8*)(reginfo->strbeg)) : (pos - off >= reginfo ->strbeg) ? (U8*)pos - off : ((void*)0))) | |||
| 131 | ||||
| 132 | #define HOP3(pos,off,lim)(reginfo->is_utf8_target ? S_reghop3((U8*)(pos), off, (U8* )(lim)) : (U8*)(pos + off)) (reginfo->is_utf8_target ? reghop3S_reghop3((U8*)(pos), off, (U8*)(lim)) : (U8*)(pos + off)) | |||
| 133 | #define HOP3c(pos,off,lim)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(pos), off , (U8*)(lim)) : (U8*)(pos + off))) ((char*)HOP3(pos,off,lim)(reginfo->is_utf8_target ? S_reghop3((U8*)(pos), off, (U8* )(lim)) : (U8*)(pos + off))) | |||
| 134 | ||||
| 135 | /* lim must be +ve. Returns NULL on overshoot */ | |||
| 136 | #define HOPMAYBE3(pos,off,lim)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)pos, off, ( U8*)(lim)) : ((U8*)pos + off <= lim) ? (U8*)pos + off : (( void*)0)) \ | |||
| 137 | (reginfo->is_utf8_target \ | |||
| 138 | ? reghopmaybe3S_reghopmaybe3((U8*)pos, off, (U8*)(lim)) \ | |||
| 139 | : ((U8*)pos + off <= lim) \ | |||
| 140 | ? (U8*)pos + off \ | |||
| 141 | : NULL((void*)0)) | |||
| 142 | ||||
| 143 | /* like HOP3, but limits the result to <= lim even for the non-utf8 case. | |||
| 144 | * off must be >=0; args should be vars rather than expressions */ | |||
| 145 | #define HOP3lim(pos,off,lim)(reginfo->is_utf8_target ? S_reghop3((U8*)(pos), off, (U8* )(lim)) : (U8*)((pos + off) > lim ? lim : (pos + off))) (reginfo->is_utf8_target \ | |||
| 146 | ? reghop3S_reghop3((U8*)(pos), off, (U8*)(lim)) \ | |||
| 147 | : (U8*)((pos + off) > lim ? lim : (pos + off))) | |||
| 148 | #define HOP3clim(pos,off,lim)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(pos), off , (U8*)(lim)) : (U8*)((pos + off) > lim ? lim : (pos + off )))) ((char*)HOP3lim(pos,off,lim)(reginfo->is_utf8_target ? S_reghop3((U8*)(pos), off, (U8* )(lim)) : (U8*)((pos + off) > lim ? lim : (pos + off)))) | |||
| 149 | ||||
| 150 | #define HOP4(pos,off,llim, rlim)(reginfo->is_utf8_target ? S_reghop4((U8*)(pos), off, (U8* )(llim), (U8*)(rlim)) : (U8*)(pos + off)) (reginfo->is_utf8_target \ | |||
| 151 | ? reghop4S_reghop4((U8*)(pos), off, (U8*)(llim), (U8*)(rlim)) \ | |||
| 152 | : (U8*)(pos + off)) | |||
| 153 | #define HOP4c(pos,off,llim, rlim)((char*)(reginfo->is_utf8_target ? S_reghop4((U8*)(pos), off , (U8*)(llim), (U8*)(rlim)) : (U8*)(pos + off))) ((char*)HOP4(pos,off,llim, rlim)(reginfo->is_utf8_target ? S_reghop4((U8*)(pos), off, (U8* )(llim), (U8*)(rlim)) : (U8*)(pos + off))) | |||
| 154 | ||||
| 155 | #define PLACEHOLDER /* Something for the preprocessor to grab onto */ | |||
| 156 | /* TODO: Combine JUMPABLE and HAS_TEXT to cache OP(rn) */ | |||
| 157 | ||||
| 158 | /* for use after a quantifier and before an EXACT-like node -- japhy */ | |||
| 159 | /* it would be nice to rework regcomp.sym to generate this stuff. sigh | |||
| 160 | * | |||
| 161 | * NOTE that *nothing* that affects backtracking should be in here, specifically | |||
| 162 | * VERBS must NOT be included. JUMPABLE is used to determine if we can ignore a | |||
| 163 | * node that is in between two EXACT like nodes when ascertaining what the required | |||
| 164 | * "follow" character is. This should probably be moved to regex compile time | |||
| 165 | * although it may be done at run time beause of the REF possibility - more | |||
| 166 | * investigation required. -- demerphq | |||
| 167 | */ | |||
| 168 | #define JUMPABLE(rn)( ((rn)->type) == 63 || (((rn)->type) == 64 && ! ( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ( ((((struct regnode_1 *)rn)->arg1))) + 1 ) ) ) ) || ((rn)-> type) == 84 || ((rn)->type) == 81 || ((rn)->type) == 79 || ((rn)->type) == 57 || ((rn)->type) == 85 || ((rn)-> type) == 105 || (PL_regkind[((rn)->type)] == 58 && ((((struct regnode_2 *)rn)->arg1)) > 0) ) ( \ | |||
| 169 | OP(rn)((rn)->type) == OPEN63 || \ | |||
| 170 | (OP(rn)((rn)->type) == CLOSE64 && \ | |||
| 171 | !EVAL_CLOSE_PAREN_IS(cur_eval,ARG(rn))( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ( ((((struct regnode_1 *)rn)->arg1))) + 1 ) ) ) ) || \ | |||
| 172 | OP(rn)((rn)->type) == EVAL84 || \ | |||
| 173 | OP(rn)((rn)->type) == SUSPEND81 || OP(rn)((rn)->type) == IFMATCH79 || \ | |||
| 174 | OP(rn)((rn)->type) == PLUS57 || OP(rn)((rn)->type) == MINMOD85 || \ | |||
| 175 | OP(rn)((rn)->type) == KEEPS105 || \ | |||
| 176 | (PL_regkind[OP(rn)((rn)->type)] == CURLY58 && ARG1(rn)((((struct regnode_2 *)rn)->arg1)) > 0) \ | |||
| 177 | ) | |||
| 178 | #define IS_EXACT(rn)(PL_regkind[((rn)->type)] == 40) (PL_regkind[OP(rn)((rn)->type)] == EXACT40) | |||
| 179 | ||||
| 180 | #define HAS_TEXT(rn)( (PL_regkind[((rn)->type)] == 40) || PL_regkind[((rn)-> type)] == 67 ) ( IS_EXACT(rn)(PL_regkind[((rn)->type)] == 40) || PL_regkind[OP(rn)((rn)->type)] == REF67 ) | |||
| 181 | ||||
| 182 | /* | |||
| 183 | Search for mandatory following text node; for lookahead, the text must | |||
| 184 | follow but for lookbehind (rn->flags != 0) we skip to the next step. | |||
| 185 | */ | |||
| 186 | #define FIND_NEXT_IMPT(rn)do { while (( ((rn)->type) == 63 || (((rn)->type) == 64 && !( ( ( cur_eval ) ) && ( ( cur_eval )-> u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( (((((struct regnode_1 *)rn)->arg1))) + 1 ) ) ) ) || ((rn)->type) == 84 || ((rn)->type) == 81 || ((rn)-> type) == 79 || ((rn)->type) == 57 || ((rn)->type) == 85 || ((rn)->type) == 105 || (PL_regkind[((rn)->type)] == 58 && ((((struct regnode_2 *)rn)->arg1)) > 0) ) ) { const U16 type = ((rn)->type); if (type == 81 || PL_regkind [type] == 58) rn = ((((rn) + 1)) + 1); else if (type == 57) rn = ((rn) + 1); else if (type == 79) rn = (rn->flags == 0) ? ((((rn) + 1)) + 1) : rn + ((((struct regnode_1 *)rn)->arg1 )); else rn += ((rn)->next_off); } } while (0) STMT_STARTdo { \ | |||
| 187 | while (JUMPABLE(rn)( ((rn)->type) == 63 || (((rn)->type) == 64 && ! ( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ( ((((struct regnode_1 *)rn)->arg1))) + 1 ) ) ) ) || ((rn)-> type) == 84 || ((rn)->type) == 81 || ((rn)->type) == 79 || ((rn)->type) == 57 || ((rn)->type) == 85 || ((rn)-> type) == 105 || (PL_regkind[((rn)->type)] == 58 && ((((struct regnode_2 *)rn)->arg1)) > 0) )) { \ | |||
| 188 | const OPCODEU16 type = OP(rn)((rn)->type); \ | |||
| 189 | if (type == SUSPEND81 || PL_regkind[type] == CURLY58) \ | |||
| 190 | rn = NEXTOPER(NEXTOPER(rn))((((rn) + 1)) + 1); \ | |||
| 191 | else if (type == PLUS57) \ | |||
| 192 | rn = NEXTOPER(rn)((rn) + 1); \ | |||
| 193 | else if (type == IFMATCH79) \ | |||
| 194 | rn = (rn->flags == 0) ? NEXTOPER(NEXTOPER(rn))((((rn) + 1)) + 1) : rn + ARG(rn)((((struct regnode_1 *)rn)->arg1)); \ | |||
| 195 | else rn += NEXT_OFF(rn)((rn)->next_off); \ | |||
| 196 | } \ | |||
| 197 | } STMT_ENDwhile (0) | |||
| 198 | ||||
| 199 | #define SLAB_FIRST(s)(&(s)->states[0]) (&(s)->states[0]) | |||
| 200 | #define SLAB_LAST(s)(&(s)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state ))-1]) (&(s)->states[PERL_REGMATCH_SLAB_SLOTS((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]) | |||
| 201 | ||||
| 202 | static void S_setup_eval_state(pTHX_ regmatch_info *const reginfo); | |||
| 203 | static void S_cleanup_regmatch_info_aux(pTHX_ void *arg); | |||
| 204 | static regmatch_state * S_push_slab(pTHXvoid); | |||
| 205 | ||||
| 206 | #define REGCP_PAREN_ELEMS3 3 | |||
| 207 | #define REGCP_OTHER_ELEMS3 3 | |||
| 208 | #define REGCP_FRAME_ELEMS1 1 | |||
| 209 | /* REGCP_FRAME_ELEMS are not part of the REGCP_OTHER_ELEMS and | |||
| 210 | * are needed for the regexp context stack bookkeeping. */ | |||
| 211 | ||||
| 212 | STATICstatic CHECKPOINT | |||
| 213 | S_regcppush(pTHX_ const regexp *rex, I32 parenfloor, U32 maxopenparen _pDEPTH,U32 depth) | |||
| 214 | { | |||
| 215 | const int retval = PL_savestack_ix; | |||
| 216 | const int paren_elems_to_push = | |||
| 217 | (maxopenparen - parenfloor) * REGCP_PAREN_ELEMS3; | |||
| 218 | const UV total_elems = paren_elems_to_push + REGCP_OTHER_ELEMS3; | |||
| 219 | const UV elems_shifted = total_elems << SAVE_TIGHT_SHIFT6; | |||
| 220 | I32 p; | |||
| 221 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 221, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 221, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 222 | ||||
| 223 | PERL_ARGS_ASSERT_REGCPPUSH((rex) ? (void)0 : __assert2("re_exec.c", 223, __func__, "rex" )); | |||
| 224 | ||||
| 225 | if (paren_elems_to_push < 0) | |||
| 226 | Perl_croak(aTHX_ "panic: paren_elems_to_push, %i < 0, maxopenparen: %i parenfloor: %i REGCP_PAREN_ELEMS: %u", | |||
| 227 | (int)paren_elems_to_push, (int)maxopenparen, | |||
| 228 | (int)parenfloor, (unsigned)REGCP_PAREN_ELEMS3); | |||
| 229 | ||||
| 230 | if ((elems_shifted >> SAVE_TIGHT_SHIFT6) != total_elems) | |||
| 231 | Perl_croak(aTHX_ "panic: paren_elems_to_push offset %" UVuf"lu" | |||
| 232 | " out of range (%lu-%ld)", | |||
| 233 | total_elems, | |||
| 234 | (unsigned long)maxopenparen, | |||
| 235 | (long)parenfloor); | |||
| 236 | ||||
| 237 | SSGROW(total_elems + REGCP_FRAME_ELEMS)if (__builtin_expect(((PL_savestack_ix + (I32)(total_elems + 1 ) > PL_savestack_max) ? (_Bool)1 : (_Bool)0),(0))) Perl_savestack_grow_cnt ( total_elems + 1); | |||
| 238 | ||||
| 239 | DEBUG_BUFFERS_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 240 | if ((int)maxopenparen > (int)parenfloor)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 241 | Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 242 | "rex=0x%" UVxf " offs=0x%" UVxf ": saving capture indices:\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 243 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 244 | PTR2UV(rex),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 245 | PTR2UV(rex->offs)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 246 | );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 247 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if ((int)maxopenparen > (int)parenfloor) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": saving capture indices:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0); | |||
| 248 | for (p = parenfloor+1; p <= (I32)maxopenparen; p++) { | |||
| 249 | /* REGCP_PARENS_ELEMS are pushed per pairs of parentheses. */ | |||
| 250 | SSPUSHIV(rex->offs[p].end)(PL_savestack[PL_savestack_ix++].any_iv = (IV)(rex->offs[p ].end)); | |||
| 251 | SSPUSHIV(rex->offs[p].start)(PL_savestack[PL_savestack_ix++].any_iv = (IV)(rex->offs[p ].start)); | |||
| 252 | SSPUSHINT(rex->offs[p].start_tmp)(PL_savestack[PL_savestack_ix++].any_i32 = (I32)(rex->offs [p].start_tmp)); | |||
| 253 | DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0) | |||
| 254 | " \\%" UVuf ": %" IVdf "(%" IVdf ")..%" IVdf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0) | |||
| 255 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0) | |||
| 256 | (UV)p,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0) | |||
| 257 | (IV)rex->offs[p].start,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0) | |||
| 258 | (IV)rex->offs[p].start_tmp,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0) | |||
| 259 | (IV)rex->offs[p].enddo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0) | |||
| 260 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "\n", depth , (UV)p, (IV)rex->offs[p].start, (IV)rex->offs[p].start_tmp , (IV)rex->offs[p].end );} while (0); | |||
| 261 | } | |||
| 262 | /* REGCP_OTHER_ELEMS are pushed in any case, parentheses or no. */ | |||
| 263 | SSPUSHINT(maxopenparen)(PL_savestack[PL_savestack_ix++].any_i32 = (I32)(maxopenparen )); | |||
| 264 | SSPUSHINT(rex->lastparen)(PL_savestack[PL_savestack_ix++].any_i32 = (I32)(rex->lastparen )); | |||
| 265 | SSPUSHINT(rex->lastcloseparen)(PL_savestack[PL_savestack_ix++].any_i32 = (I32)(rex->lastcloseparen )); | |||
| 266 | SSPUSHUV(SAVEt_REGCONTEXT | elems_shifted)(PL_savestack[PL_savestack_ix++].any_uv = (UV)(3 | elems_shifted )); /* Magic cookie. */ | |||
| 267 | ||||
| 268 | return retval; | |||
| 269 | } | |||
| 270 | ||||
| 271 | /* These are needed since we do not localize EVAL nodes: */ | |||
| 272 | #define REGCP_SET(cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); cp = PL_savestack_ix \ | |||
| 273 | DEBUG_STATE_r( \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0) | |||
| 274 | Perl_re_exec_indentf( aTHX_ \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0) | |||
| 275 | "Setting an EVAL scope, savestack=%" IVdf ",\n", \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0) | |||
| 276 | depth, (IV)PL_savestack_ix \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0) | |||
| 277 | ) \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0) | |||
| 278 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); \ | |||
| 279 | cp = PL_savestack_ix | |||
| 280 | ||||
| 281 | #define REGCP_UNWIND(cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0); do { if (PL_savestack_ix > cp) Perl_leave_scope ( cp); } while (0) \ | |||
| 282 | DEBUG_STATE_r( \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0) | |||
| 283 | if (cp != PL_savestack_ix) \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0) | |||
| 284 | Perl_re_exec_indentf( aTHX_ \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0) | |||
| 285 | "Clearing an EVAL scope, savestack=%" \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0) | |||
| 286 | IVdf "..%" IVdf "\n", \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0) | |||
| 287 | depth, (IV)(cp), (IV)PL_savestack_ix \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0) | |||
| 288 | ) \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0) | |||
| 289 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(cp), (IV)PL_savestack_ix ) ;} while (0); \ | |||
| 290 | regcpblow(cp)do { if (PL_savestack_ix > cp) Perl_leave_scope( cp); } while (0) | |||
| 291 | ||||
| 292 | /* set the start and end positions of capture ix */ | |||
| 293 | #define CLOSE_CAPTURE(ix, s, e)rex->offs[ix].start = s; rex->offs[ix].end = e; if (ix > rex->lastparen) rex->lastparen = ix; rex->lastcloseparen = ix; do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000 ))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth , (UV)(rex), (UV)(rex->offs), (UV)ix, (IV)rex->offs[ix] .start, (IV)rex->offs[ix].end, (UV)rex->lastparen );} while (0) \ | |||
| 294 | rex->offs[ix].start = s; \ | |||
| 295 | rex->offs[ix].end = e; \ | |||
| 296 | if (ix > rex->lastparen) \ | |||
| 297 | rex->lastparen = ix; \ | |||
| 298 | rex->lastcloseparen = ix; \ | |||
| 299 | DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_ \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 300 | "CLOSE: rex=0x%" UVxf " offs=0x%" UVxf ": \\%" UVuf ": set %" IVdf "..%" IVdf " max: %" UVuf "\n", \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 301 | depth, \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 302 | PTR2UV(rex), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 303 | PTR2UV(rex->offs), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 304 | (UV)ix, \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 305 | (IV)rex->offs[ix].start, \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 306 | (IV)rex->offs[ix].end, \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 307 | (UV)rex->lastparen \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 308 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)ix, (IV)rex->offs[ix].start, (IV)rex-> offs[ix].end, (UV)rex->lastparen );} while (0) | |||
| 309 | ||||
| 310 | #define UNWIND_PAREN(lp, lcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0); for (n = rex->lastparen; n > lp; n--) rex ->offs[n].end = -1; rex->lastparen = n; rex->lastcloseparen = lcp; \ | |||
| 311 | DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_ \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 312 | "UNWIND_PAREN: rex=0x%" UVxf " offs=0x%" UVxf ": invalidate (%" UVuf "..%" UVuf "] set lcp: %" UVuf "\n", \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 313 | depth, \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 314 | PTR2UV(rex), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 315 | PTR2UV(rex->offs), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 316 | (UV)(lp), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 317 | (UV)(rex->lastparen), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 318 | (UV)(lcp) \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0) | |||
| 319 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(lp), (UV)(rex->lastparen), (UV)(lcp ) );} while (0); \ | |||
| 320 | for (n = rex->lastparen; n > lp; n--) \ | |||
| 321 | rex->offs[n].end = -1; \ | |||
| 322 | rex->lastparen = n; \ | |||
| 323 | rex->lastcloseparen = lcp; | |||
| 324 | ||||
| 325 | ||||
| 326 | STATICstatic void | |||
| 327 | S_regcppop(pTHX_ regexp *rex, U32 *maxopenparen_p _pDEPTH,U32 depth) | |||
| 328 | { | |||
| 329 | UV i; | |||
| 330 | U32 paren; | |||
| 331 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 331, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 331, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 332 | ||||
| 333 | PERL_ARGS_ASSERT_REGCPPOP((rex) ? (void)0 : __assert2("re_exec.c", 333, __func__, "rex" )); ((maxopenparen_p) ? (void)0 : __assert2("re_exec.c", 333, __func__, "maxopenparen_p")); | |||
| 334 | ||||
| 335 | /* Pop REGCP_OTHER_ELEMS before the parentheses loop starts. */ | |||
| 336 | i = SSPOPUV(PL_savestack[--PL_savestack_ix].any_uv); | |||
| 337 | assert((i & SAVE_MASK) == SAVEt_REGCONTEXT)(((i & 0x3F) == 3) ? (void)0 : __assert2("re_exec.c", 337 , __func__, "(i & SAVE_MASK) == SAVEt_REGCONTEXT")); /* Check that the magic cookie is there. */ | |||
| 338 | i >>= SAVE_TIGHT_SHIFT6; /* Parentheses elements to pop. */ | |||
| 339 | rex->lastcloseparen = SSPOPINT(PL_savestack[--PL_savestack_ix].any_i32); | |||
| 340 | rex->lastparen = SSPOPINT(PL_savestack[--PL_savestack_ix].any_i32); | |||
| 341 | *maxopenparen_p = SSPOPINT(PL_savestack[--PL_savestack_ix].any_i32); | |||
| 342 | ||||
| 343 | i -= REGCP_OTHER_ELEMS3; | |||
| 344 | /* Now restore the parentheses context. */ | |||
| 345 | DEBUG_BUFFERS_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 346 | if (i || rex->lastparen + 1 <= rex->nparens)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 347 | Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 348 | "rex=0x%" UVxf " offs=0x%" UVxf ": restoring capture indices to:\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 349 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 350 | PTR2UV(rex),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 351 | PTR2UV(rex->offs)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 352 | );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0) | |||
| 353 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) if (i || rex->lastparen + 1 <= rex->nparens) Perl_re_exec_indentf ( "rex=0x%" "lx" " offs=0x%" "lx" ": restoring capture indices to:\n" , depth, (UV)(rex), (UV)(rex->offs) );;} while (0); | |||
| 354 | paren = *maxopenparen_p; | |||
| 355 | for ( ; i > 0; i -= REGCP_PAREN_ELEMS3) { | |||
| 356 | SSize_tssize_t tmps; | |||
| 357 | rex->offs[paren].start_tmp = SSPOPINT(PL_savestack[--PL_savestack_ix].any_i32); | |||
| 358 | rex->offs[paren].start = SSPOPIV(PL_savestack[--PL_savestack_ix].any_iv); | |||
| 359 | tmps = SSPOPIV(PL_savestack[--PL_savestack_ix].any_iv); | |||
| 360 | if (paren <= rex->lastparen) | |||
| 361 | rex->offs[paren].end = tmps; | |||
| 362 | DEBUG_BUFFERS_r( Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 363 | " \\%" UVuf ": %" IVdf "(%" IVdf ")..%" IVdf "%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 364 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 365 | (UV)paren,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 366 | (IV)rex->offs[paren].start,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 367 | (IV)rex->offs[paren].start_tmp,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 368 | (IV)rex->offs[paren].end,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 369 | (paren > rex->lastparen ? "(skipped)" : ""));do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0) | |||
| 370 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %" "ld" "(%" "ld" ")..%" "ld" "%s\n", depth , (UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[ paren].start_tmp, (IV)rex->offs[paren].end, (paren > rex ->lastparen ? "(skipped)" : ""));;} while (0); | |||
| 371 | paren--; | |||
| 372 | } | |||
| 373 | #if 1 | |||
| 374 | /* It would seem that the similar code in regtry() | |||
| 375 | * already takes care of this, and in fact it is in | |||
| 376 | * a better location to since this code can #if 0-ed out | |||
| 377 | * but the code in regtry() is needed or otherwise tests | |||
| 378 | * requiring null fields (pat.t#187 and split.t#{13,14} | |||
| 379 | * (as of patchlevel 7877) will fail. Then again, | |||
| 380 | * this code seems to be necessary or otherwise | |||
| 381 | * this erroneously leaves $1 defined: "1" =~ /^(?:(\d)x)?\d$/ | |||
| 382 | * --jhi updated by dapm */ | |||
| 383 | for (i = rex->lastparen + 1; i <= rex->nparens; i++) { | |||
| 384 | if (i > *maxopenparen_p) | |||
| 385 | rex->offs[i].start = -1; | |||
| 386 | rex->offs[i].end = -1; | |||
| 387 | DEBUG_BUFFERS_r( Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %s ..-1 undeffing\n", depth, (UV)i, (i > *maxopenparen_p) ? "-1" : " " );} while (0) | |||
| 388 | " \\%" UVuf ": %s ..-1 undeffing\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %s ..-1 undeffing\n", depth, (UV)i, (i > *maxopenparen_p) ? "-1" : " " );} while (0) | |||
| 389 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %s ..-1 undeffing\n", depth, (UV)i, (i > *maxopenparen_p) ? "-1" : " " );} while (0) | |||
| 390 | (UV)i,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %s ..-1 undeffing\n", depth, (UV)i, (i > *maxopenparen_p) ? "-1" : " " );} while (0) | |||
| 391 | (i > *maxopenparen_p) ? "-1" : " "do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %s ..-1 undeffing\n", depth, (UV)i, (i > *maxopenparen_p) ? "-1" : " " );} while (0) | |||
| 392 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( " \\%" "lu" ": %s ..-1 undeffing\n", depth, (UV)i, (i > *maxopenparen_p) ? "-1" : " " );} while (0); | |||
| 393 | } | |||
| 394 | #endif | |||
| 395 | } | |||
| 396 | ||||
| 397 | /* restore the parens and associated vars at savestack position ix, | |||
| 398 | * but without popping the stack */ | |||
| 399 | ||||
| 400 | STATICstatic void | |||
| 401 | S_regcp_restore(pTHX_ regexp *rex, I32 ix, U32 *maxopenparen_p _pDEPTH,U32 depth) | |||
| 402 | { | |||
| 403 | I32 tmpix = PL_savestack_ix; | |||
| 404 | PERL_ARGS_ASSERT_REGCP_RESTORE((rex) ? (void)0 : __assert2("re_exec.c", 404, __func__, "rex" )); ((maxopenparen_p) ? (void)0 : __assert2("re_exec.c", 404, __func__, "maxopenparen_p")); | |||
| 405 | ||||
| 406 | PL_savestack_ix = ix; | |||
| 407 | regcppop(rex, maxopenparen_p)S_regcppop( rex,maxopenparen_p ,depth); | |||
| 408 | PL_savestack_ix = tmpix; | |||
| 409 | } | |||
| 410 | ||||
| 411 | #define regcpblow(cp)do { if (PL_savestack_ix > cp) Perl_leave_scope( cp); } while (0) LEAVE_SCOPE(cp)do { if (PL_savestack_ix > cp) Perl_leave_scope( cp); } while (0) /* Ignores regcppush()ed data. */ | |||
| 412 | ||||
| 413 | #ifndef PERL_IN_XSUB_RE | |||
| 414 | ||||
| 415 | bool_Bool | |||
| 416 | Perl_isFOO_lc(pTHX_ const U8 classnum, const U8 character) | |||
| 417 | { | |||
| 418 | /* Returns a boolean as to whether or not 'character' is a member of the | |||
| 419 | * Posix character class given by 'classnum' that should be equivalent to a | |||
| 420 | * value in the typedef '_char_class_number'. | |||
| 421 | * | |||
| 422 | * Ideally this could be replaced by a just an array of function pointers | |||
| 423 | * to the C library functions that implement the macros this calls. | |||
| 424 | * However, to compile, the precise function signatures are required, and | |||
| 425 | * these may vary from platform to platform. To avoid having to figure | |||
| 426 | * out what those all are on each platform, I (khw) am using this method, | |||
| 427 | * which adds an extra layer of function call overhead (unless the C | |||
| 428 | * optimizer strips it away). But we don't particularly care about | |||
| 429 | * performance with locales anyway. */ | |||
| 430 | ||||
| 431 | switch ((_char_class_number) classnum) { | |||
| 432 | case _CC_ENUM_ALPHANUMERIC: return isALPHANUMERIC_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (7))) ? (_Bool)1 : (_Bool)0) : ((isalnum( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 433 | case _CC_ENUM_ALPHA: return isALPHA_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (2))) ? (_Bool)1 : (_Bool)0) : ((isalpha( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 434 | case _CC_ENUM_ASCII: return isASCII_LC(character)(( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) && isascii( (U8) (character))); | |||
| 435 | case _CC_ENUM_BLANK: return isBLANK_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (11))) ? (_Bool)1 : (_Bool)0) : ((isblank( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 436 | case _CC_ENUM_CASED: return isLOWER_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (3))) ? (_Bool)1 : (_Bool)0) : ((islower( (U8) (character))) ? (_Bool)1 : (_Bool)0)) | |||
| 437 | || isUPPER_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (4))) ? (_Bool)1 : (_Bool)0) : ((isupper( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 438 | case _CC_ENUM_CNTRL: return isCNTRL_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (13))) ? (_Bool)1 : (_Bool)0) : ((iscntrl( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 439 | case _CC_ENUM_DIGIT: return isDIGIT_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (1))) ? (_Bool)1 : (_Bool)0) : ((isdigit( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 440 | case _CC_ENUM_GRAPH: return isGRAPH_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (8))) ? (_Bool)1 : (_Bool)0) : ((isgraph( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 441 | case _CC_ENUM_LOWER: return isLOWER_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (3))) ? (_Bool)1 : (_Bool)0) : ((islower( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 442 | case _CC_ENUM_PRINT: return isPRINT_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (6))) ? (_Bool)1 : (_Bool)0) : ((isprint( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 443 | case _CC_ENUM_PUNCT: return isPUNCT_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (5))) ? (_Bool)1 : (_Bool)0) : ((ispunct( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 444 | case _CC_ENUM_SPACE: return isSPACE_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (10))) ? (_Bool)1 : (_Bool)0) : ((isspace( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 445 | case _CC_ENUM_UPPER: return isUPPER_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (4))) ? (_Bool)1 : (_Bool)0) : ((isupper( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 446 | case _CC_ENUM_WORDCHAR: return isWORDCHAR_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (character)) || (char)(character) == '_')) ? (_Bool)1 : (_Bool)0)); | |||
| 447 | case _CC_ENUM_XDIGIT: return isXDIGIT_LC(character)(! ( (sizeof(character) == 1) || !(((U64)((character) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( character)] & (1U << (12))) ? (_Bool)1 : (_Bool)0) : ((isxdigit( (U8) (character))) ? (_Bool)1 : (_Bool)0)); | |||
| 448 | default: /* VERTSPACE should never occur in locales */ | |||
| 449 | Perl_croak(aTHX_ "panic: isFOO_lc() has an unexpected character class '%d'", classnum); | |||
| 450 | } | |||
| 451 | ||||
| 452 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 452 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 453 | return FALSE(0); | |||
| 454 | } | |||
| 455 | ||||
| 456 | #endif | |||
| 457 | ||||
| 458 | PERL_STATIC_INLINEstatic __inline__ I32 | |||
| 459 | S_foldEQ_latin1_s2_folded(const char *s1, const char *s2, I32 len) | |||
| 460 | { | |||
| 461 | /* Compare non-UTF-8 using Unicode (Latin1) semantics. s2 must already be | |||
| 462 | * folded. Works on all folds representable without UTF-8, except for | |||
| 463 | * LATIN_SMALL_LETTER_SHARP_S, and does not check for this. Nor does it | |||
| 464 | * check that the strings each have at least 'len' characters. | |||
| 465 | * | |||
| 466 | * There is almost an identical API function where s2 need not be folded: | |||
| 467 | * Perl_foldEQ_latin1() */ | |||
| 468 | ||||
| 469 | const U8 *a = (const U8 *)s1; | |||
| 470 | const U8 *b = (const U8 *)s2; | |||
| 471 | ||||
| 472 | PERL_ARGS_ASSERT_FOLDEQ_LATIN1_S2_FOLDED((a) ? (void)0 : __assert2("re_exec.c", 472, __func__, "a")); ((b) ? (void)0 : __assert2("re_exec.c", 472, __func__, "b")); | |||
| 473 | ||||
| 474 | assert(len >= 0)((len >= 0) ? (void)0 : __assert2("re_exec.c", 474, __func__ , "len >= 0")); | |||
| 475 | ||||
| 476 | while (len--) { | |||
| 477 | assert(! isUPPER_L1(*b))((! ((( (sizeof(*b) == 1) || !(((U64)((*b) | 0)) & ~0xFF) ) && (PL_charclass[(U8) (*b)] & (1U << (4)) )) ? (_Bool)1 : (_Bool)0)) ? (void)0 : __assert2("re_exec.c", 477, __func__, "! isUPPER_L1(*b)")); | |||
| 478 | if (toLOWER_L1(*a)((! ( (sizeof(*a) == 1) || !(((U64)((*a) | 0)) & ~0xFF))) ? (*a) : PL_latin1_lc[ (U8) (*a) ]) != *b) { | |||
| 479 | return 0; | |||
| 480 | } | |||
| 481 | a++, b++; | |||
| 482 | } | |||
| 483 | return 1; | |||
| 484 | } | |||
| 485 | ||||
| 486 | STATICstatic bool_Bool | |||
| 487 | S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character, const U8* e) | |||
| 488 | { | |||
| 489 | /* Returns a boolean as to whether or not the (well-formed) UTF-8-encoded | |||
| 490 | * 'character' is a member of the Posix character class given by 'classnum' | |||
| 491 | * that should be equivalent to a value in the typedef | |||
| 492 | * '_char_class_number'. | |||
| 493 | * | |||
| 494 | * This just calls isFOO_lc on the code point for the character if it is in | |||
| 495 | * the range 0-255. Outside that range, all characters use Unicode | |||
| 496 | * rules, ignoring any locale. So use the Unicode function if this class | |||
| 497 | * requires an inversion list, and use the Unicode macro otherwise. */ | |||
| 498 | ||||
| 499 | dVARstruct Perl___notused_struct; | |||
| 500 | ||||
| 501 | PERL_ARGS_ASSERT_ISFOO_UTF8_LC((character) ? (void)0 : __assert2("re_exec.c", 501, __func__ , "character")); ((e) ? (void)0 : __assert2("re_exec.c", 501, __func__, "e")); | |||
| 502 | ||||
| 503 | if (UTF8_IS_INVARIANT(*character)((((U64)(((UV) (((*character) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) { | |||
| 504 | return isFOO_lc(classnum, *character)Perl_isFOO_lc( classnum,*character); | |||
| 505 | } | |||
| 506 | else if (UTF8_IS_DOWNGRADEABLE_START(*character)(((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 506, __func__ , "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 506 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 506 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U8)) ? ((((NV) (((( (((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 506, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 506, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*character) == 1) || !(((U64 )((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 506, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64)( (*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 506, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U32)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 506, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 506, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*character) == 1) || !((( U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2( "re_exec.c", 506, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64 )((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 506, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 506, __func__, "sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 506, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 506, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 506, __func__, "(NV) (((((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) ((((( (sizeof(*character) == 1) || !((( U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2( "re_exec.c", 506, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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)))))))))) { | |||
| 507 | return isFOO_lc(classnum,Perl_isFOO_lc( classnum,( (((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U8)) ? ((((NV) (((( (((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*character) == 1) || !(((U64 )((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64)( (*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U32)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*character) == 1) || !((( U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2( "re_exec.c", 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64 )((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "(NV) (((((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) ((((( (sizeof(*character) == 1) || !((( U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2( "re_exec.c", 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 508, __func__ , "(((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 508, __func__, \\\"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\\\")), ((U8) ((*character) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((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) ((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 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(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(character + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "(((( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(character + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(character + 1))) == 1) || !( ((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : ( 0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(character + 1 ))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF) )) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : ( 0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(character + 1))) == 1) || !(((U64 )(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : ( 0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | |||
| 508 | EIGHT_BIT_UTF8_TO_NATIVE(*character, *(character + 1)))Perl_isFOO_lc( classnum,( (((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U8)) ? ((((NV) (((( (((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*character) == 1) || !(((U64 )((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64)( (*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U32)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*character) == 1) || !((( U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2( "re_exec.c", 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64 )((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "(NV) (((((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) ((((( (sizeof(*character) == 1) || !((( U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2( "re_exec.c", 508, __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 508, __func__ , "(((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 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((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"sizeof((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 508, __func__, \\\"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\\\")), ((U8) ((*character) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"(NV) (((((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) ((((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 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(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(character + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "(((( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*(character + 1)) == 1) || !(((U64)((*(character + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(character + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(character + 1))) == 1) || !( ((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : ( 0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(character + 1 ))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF) )) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : ( 0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 508, __func__, "( (sizeof((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))\")), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 508, __func__, \"( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(character + 1))) == 1) || !(((U64 )(((*(character + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*character) == 1) || !(((U64)((*character ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 508 , __func__, "( (sizeof(*character) == 1) || !(((U64)((*character) | 0)) & ~0xFF))" )), ((U8) ((*character) | 0))) & (((2) >= 7) ? 0x00 : ( 0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 508, __func__, "( (sizeof((*(character + 1))) == 1) || !(((U64)(((*(character + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(character + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))); | |||
| 509 | } | |||
| 510 | ||||
| 511 | _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(character, e)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (character)),(const U8 *) (U8 *) (e),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); | |||
| 512 | ||||
| 513 | switch ((_char_class_number) classnum) { | |||
| 514 | case _CC_ENUM_SPACE: return is_XPERLSPACE_high(character)( ( 0xE1 == ((const U8*)character)[0] ) ? ( ( ( 0x9A == ((const U8*)character)[1] ) && ( 0x80 == ((const U8*)character )[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)character)[0] ) ? ( ( 0x80 == ((const U8*)character)[1] ) ? ( ( ((((0x8A) >= ( 0x80)) ? (void)0 : __assert2("re_exec.c", 514, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)character)[2]) == sizeof(U8)) ? ((( (NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c", 514 , __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 514, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U8) (((const U8*)character)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0))))) : (sizeof(((const U8*)character)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 514, __func__, "(NV) ((0x80)) >= 0")), (((NV ) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c" , 514, __func__, "(NV) (((0x8A) - (0x80))) >= 0")), (((U64 ) (((((U32) (((const U8*)character)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof(((const U8*)character)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 514, __func__, "sizeof(((const U8*)character)[2]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 514, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 514, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)character)[2])))) - (((0x80)) | 0))) <= (((U64) ( (((0x8A) - (0x80))) | 0)))))))) || ((((0xA9) >= (0xA8)) ? ( void)0 : __assert2("re_exec.c", 514, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)character)[2]) == sizeof(U8)) ? ((( (NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c", 514 , __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 514, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U8) (((const U8*)character)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0))))) : (sizeof(((const U8*)character)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 514, __func__, "(NV) ((0xA8)) >= 0")), (((NV ) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c" , 514, __func__, "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64 ) (((((U32) (((const U8*)character)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof(((const U8*)character)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 514, __func__, "sizeof(((const U8*)character)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 514, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 514, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)character)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0)))))))) || 0xAF == ((const U8*)character )[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)character)[1] ) && ( 0x9F == ((const U8*)character)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)character)[0] ) && ( 0x80 == ((const U8 *)character)[1] ) ) && ( 0x80 == ((const U8*)character )[2] ) ) ? 3 : 0 ); | |||
| 515 | case _CC_ENUM_BLANK: return is_HORIZWS_high(character)( ( 0xE1 == ((const U8*)character)[0] ) ? ( ( ( 0x9A == ((const U8*)character)[1] ) && ( 0x80 == ((const U8*)character )[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)character)[0] ) ? ( ( 0x80 == ((const U8*)character)[1] ) ? ( ( ((((0x8A) >= ( 0x80)) ? (void)0 : __assert2("re_exec.c", 515, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)character)[2]) == sizeof(U8)) ? ((( (NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c", 515 , __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 515, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U8) (((const U8*)character)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0))))) : (sizeof(((const U8*)character)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 515, __func__, "(NV) ((0x80)) >= 0")), (((NV ) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c" , 515, __func__, "(NV) (((0x8A) - (0x80))) >= 0")), (((U64 ) (((((U32) (((const U8*)character)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof(((const U8*)character)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 515, __func__, "sizeof(((const U8*)character)[2]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 515, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 515, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)character)[2])))) - (((0x80)) | 0))) <= (((U64) ( (((0x8A) - (0x80))) | 0)))))))) || 0xAF == ((const U8*)character )[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)character)[1] ) && ( 0x9F == ((const U8*)character)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)character)[0] ) && ( 0x80 == ((const U8 *)character)[1] ) ) && ( 0x80 == ((const U8*)character )[2] ) ) ? 3 : 0 ); | |||
| 516 | case _CC_ENUM_XDIGIT: return is_XDIGIT_high(character)( ( 0xEF == ((const U8*)character)[0] ) ? ( ( 0xBC == ((const U8*)character)[1] ) ? ( ( ((((0x99) >= (0x90)) ? (void)0 : __assert2("re_exec.c", 516, __func__, "(0x99) >= (0x90)") ), ( (sizeof(((const U8*)character)[2]) == sizeof(U8)) ? (((( NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c", 516, __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 516, __func__ , "(NV) (((0x99) - (0x90))) >= 0")), (((U64) (((((U8) (((const U8*)character)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99 ) - (0x90))) | 0))))) : (sizeof(((const U8*)character)[2]) == sizeof(U32)) ? ((((NV) ((0x90)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 516, __func__, "(NV) ((0x90)) >= 0")), (((NV ) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "(NV) (((0x99) - (0x90))) >= 0")), (((U64 ) (((((U32) (((const U8*)character)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (((sizeof(((const U8*)character)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "sizeof(((const U8*)character)[2]) == sizeof(U64)" )), ((((NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 516, __func__ , "(NV) (((0x99) - (0x90))) >= 0")), (((U64) (((((U64) ((( const U8*)character)[2])))) - (((0x90)) | 0))) <= (((U64) ( (((0x99) - (0x90))) | 0)))))))) || ((((0xA6) >= (0xA1)) ? ( void)0 : __assert2("re_exec.c", 516, __func__, "(0xA6) >= (0xA1)" )), ( (sizeof(((const U8*)character)[2]) == sizeof(U8)) ? ((( (NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c", 516 , __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 516, __func__ , "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) (((((U8) (((const U8*)character)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6 ) - (0xA1))) | 0))))) : (sizeof(((const U8*)character)[2]) == sizeof(U32)) ? ((((NV) ((0xA1)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 516, __func__, "(NV) ((0xA1)) >= 0")), (((NV ) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64 ) (((((U32) (((const U8*)character)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : (((sizeof(((const U8*)character)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "sizeof(((const U8*)character)[2]) == sizeof(U64)" )), ((((NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 516, __func__ , "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) (((((U64) ((( const U8*)character)[2])))) - (((0xA1)) | 0))) <= (((U64) ( (((0xA6) - (0xA1))) | 0)))))))) ) ? 3 : 0 ) : ( ( 0xBD == ((const U8*)character)[1] ) && ( ((((0x86) >= (0x81)) ? ( void)0 : __assert2("re_exec.c", 516, __func__, "(0x86) >= (0x81)" )), ( (sizeof(((const U8*)character)[2]) == sizeof(U8)) ? ((( (NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c", 516 , __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 516, __func__ , "(NV) (((0x86) - (0x81))) >= 0")), (((U64) (((((U8) (((const U8*)character)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86 ) - (0x81))) | 0))))) : (sizeof(((const U8*)character)[2]) == sizeof(U32)) ? ((((NV) ((0x81)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 516, __func__, "(NV) ((0x81)) >= 0")), (((NV ) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "(NV) (((0x86) - (0x81))) >= 0")), (((U64 ) (((((U32) (((const U8*)character)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (((sizeof(((const U8*)character)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "sizeof(((const U8*)character)[2]) == sizeof(U64)" )), ((((NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c" , 516, __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c", 516, __func__ , "(NV) (((0x86) - (0x81))) >= 0")), (((U64) (((((U64) ((( const U8*)character)[2])))) - (((0x81)) | 0))) <= (((U64) ( (((0x86) - (0x81))) | 0)))))))) ) ) ? 3 : 0 ): 0 ); | |||
| 517 | case _CC_ENUM_VERTSPACE: return is_VERTWS_high(character)( ( ( ( 0xE2 == ((const U8*)character)[0] ) && ( 0x80 == ((const U8*)character)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 517, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)character)[2]) == sizeof(U8)) ? ((( (NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c", 517 , __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 517, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U8) (((const U8*)character)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0))))) : (sizeof(((const U8*)character)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 517, __func__, "(NV) ((0xA8)) >= 0")), (((NV ) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c" , 517, __func__, "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64 ) (((((U32) (((const U8*)character)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof(((const U8*)character)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 517, __func__, "sizeof(((const U8*)character)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 517, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 517, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)character)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ); | |||
| 518 | default: | |||
| 519 | return _invlist_contains_cpS__invlist_contains_cp(PL_XPosix_ptrs[classnum], | |||
| 520 | utf8_to_uvchr_buf(character, e, NULL)Perl_utf8_to_uvchr_buf_helper( (const U8 *) (character),(const U8 *) e,((void*)0))); | |||
| 521 | } | |||
| 522 | ||||
| 523 | return FALSE(0); /* Things like CNTRL are always below 256 */ | |||
| 524 | } | |||
| 525 | ||||
| 526 | STATICstatic U8 * | |||
| 527 | S_find_span_end(U8 * s, const U8 * send, const U8 span_byte) | |||
| 528 | { | |||
| 529 | /* Returns the position of the first byte in the sequence between 's' and | |||
| 530 | * 'send-1' inclusive that isn't 'span_byte'; returns 'send' if none found. | |||
| 531 | * */ | |||
| 532 | ||||
| 533 | PERL_ARGS_ASSERT_FIND_SPAN_END((s) ? (void)0 : __assert2("re_exec.c", 533, __func__, "s")); ((send) ? (void)0 : __assert2("re_exec.c", 533, __func__, "send" )); | |||
| 534 | ||||
| 535 | assert(send >= s)((send >= s) ? (void)0 : __assert2("re_exec.c", 535, __func__ , "send >= s")); | |||
| 536 | ||||
| 537 | if ((STRLEN) (send - s) >= PERL_WORDSIZEsizeof(PERL_UINTMAX_T) | |||
| 538 | + PERL_WORDSIZEsizeof(PERL_UINTMAX_T) * PERL_IS_SUBWORD_ADDR(s)(1 & ( (UV)(s) | ( (UV)(s) >> 1) | ( ( ((UV)(s) & (sizeof(PERL_UINTMAX_T) - 1)) >> 2)))) | |||
| 539 | - (PTR2nat(s)(UV)(s) & PERL_WORD_BOUNDARY_MASK(sizeof(PERL_UINTMAX_T) - 1))) | |||
| 540 | { | |||
| 541 | PERL_UINTMAX_T span_word; | |||
| 542 | ||||
| 543 | /* Process per-byte until reach word boundary. XXX This loop could be | |||
| 544 | * eliminated if we knew that this platform had fast unaligned reads */ | |||
| 545 | while (PTR2nat(s)(UV)(s) & PERL_WORD_BOUNDARY_MASK(sizeof(PERL_UINTMAX_T) - 1)) { | |||
| 546 | if (*s != span_byte) { | |||
| 547 | return s; | |||
| 548 | } | |||
| 549 | s++; | |||
| 550 | } | |||
| 551 | ||||
| 552 | /* Create a word filled with the bytes we are spanning */ | |||
| 553 | span_word = PERL_COUNT_MULTIPLIER(~ (0ULL) / 0xFF) * span_byte; | |||
| 554 | ||||
| 555 | /* Process per-word as long as we have at least a full word left */ | |||
| 556 | do { | |||
| 557 | ||||
| 558 | /* Keep going if the whole word is composed of 'span_byte's */ | |||
| 559 | if ((* (PERL_UINTMAX_T *) s) == span_word) { | |||
| 560 | s += PERL_WORDSIZEsizeof(PERL_UINTMAX_T); | |||
| 561 | continue; | |||
| 562 | } | |||
| 563 | ||||
| 564 | /* Here, at least one byte in the word isn't 'span_byte'. */ | |||
| 565 | ||||
| 566 | #ifdef EBCDIC | |||
| 567 | ||||
| 568 | break; | |||
| 569 | ||||
| 570 | #else | |||
| 571 | ||||
| 572 | /* This xor leaves 1 bits only in those non-matching bytes */ | |||
| 573 | span_word ^= * (PERL_UINTMAX_T *) s; | |||
| 574 | ||||
| 575 | /* Make sure the upper bit of each non-matching byte is set. This | |||
| 576 | * makes each such byte look like an ASCII platform variant byte */ | |||
| 577 | span_word |= span_word << 1; | |||
| 578 | span_word |= span_word << 2; | |||
| 579 | span_word |= span_word << 4; | |||
| 580 | ||||
| 581 | /* That reduces the problem to what this function solves */ | |||
| 582 | return s + variant_byte_numberPerl_variant_byte_number(span_word); | |||
| 583 | ||||
| 584 | #endif | |||
| 585 | ||||
| 586 | } while (s + PERL_WORDSIZEsizeof(PERL_UINTMAX_T) <= send); | |||
| 587 | } | |||
| 588 | ||||
| 589 | /* Process the straggler bytes beyond the final word boundary */ | |||
| 590 | while (s < send) { | |||
| 591 | if (*s != span_byte) { | |||
| 592 | return s; | |||
| 593 | } | |||
| 594 | s++; | |||
| 595 | } | |||
| 596 | ||||
| 597 | return s; | |||
| 598 | } | |||
| 599 | ||||
| 600 | STATICstatic U8 * | |||
| 601 | S_find_next_masked(U8 * s, const U8 * send, const U8 byte, const U8 mask) | |||
| 602 | { | |||
| 603 | /* Returns the position of the first byte in the sequence between 's' | |||
| 604 | * and 'send-1' inclusive that when ANDed with 'mask' yields 'byte'; | |||
| 605 | * returns 'send' if none found. It uses word-level operations instead of | |||
| 606 | * byte to speed up the process */ | |||
| 607 | ||||
| 608 | PERL_ARGS_ASSERT_FIND_NEXT_MASKED((s) ? (void)0 : __assert2("re_exec.c", 608, __func__, "s")); ((send) ? (void)0 : __assert2("re_exec.c", 608, __func__, "send" )); | |||
| 609 | ||||
| 610 | assert(send >= s)((send >= s) ? (void)0 : __assert2("re_exec.c", 610, __func__ , "send >= s")); | |||
| 611 | assert((byte & mask) == byte)(((byte & mask) == byte) ? (void)0 : __assert2("re_exec.c" , 611, __func__, "(byte & mask) == byte")); | |||
| 612 | ||||
| 613 | #ifndef EBCDIC | |||
| 614 | ||||
| 615 | if ((STRLEN) (send - s) >= PERL_WORDSIZEsizeof(PERL_UINTMAX_T) | |||
| 616 | + PERL_WORDSIZEsizeof(PERL_UINTMAX_T) * PERL_IS_SUBWORD_ADDR(s)(1 & ( (UV)(s) | ( (UV)(s) >> 1) | ( ( ((UV)(s) & (sizeof(PERL_UINTMAX_T) - 1)) >> 2)))) | |||
| 617 | - (PTR2nat(s)(UV)(s) & PERL_WORD_BOUNDARY_MASK(sizeof(PERL_UINTMAX_T) - 1))) | |||
| 618 | { | |||
| 619 | PERL_UINTMAX_T word, mask_word; | |||
| 620 | ||||
| 621 | while (PTR2nat(s)(UV)(s) & PERL_WORD_BOUNDARY_MASK(sizeof(PERL_UINTMAX_T) - 1)) { | |||
| 622 | if (((*s) & mask) == byte) { | |||
| 623 | return s; | |||
| 624 | } | |||
| 625 | s++; | |||
| 626 | } | |||
| 627 | ||||
| 628 | word = PERL_COUNT_MULTIPLIER(~ (0ULL) / 0xFF) * byte; | |||
| 629 | mask_word = PERL_COUNT_MULTIPLIER(~ (0ULL) / 0xFF) * mask; | |||
| 630 | ||||
| 631 | do { | |||
| 632 | PERL_UINTMAX_T masked = (* (PERL_UINTMAX_T *) s) & mask_word; | |||
| 633 | ||||
| 634 | /* If 'masked' contains bytes with the bit pattern of 'byte' within | |||
| 635 | * it, xoring with 'word' will leave each of the 8 bits in such | |||
| 636 | * bytes be 0, and no byte containing any other bit pattern will be | |||
| 637 | * 0. */ | |||
| 638 | masked ^= word; | |||
| 639 | ||||
| 640 | /* This causes the most significant bit to be set to 1 for any | |||
| 641 | * bytes in the word that aren't completely 0 */ | |||
| 642 | masked |= masked << 1; | |||
| 643 | masked |= masked << 2; | |||
| 644 | masked |= masked << 4; | |||
| 645 | ||||
| 646 | /* The msbits are the same as what marks a byte as variant, so we | |||
| 647 | * can use this mask. If all msbits are 1, the word doesn't | |||
| 648 | * contain 'byte' */ | |||
| 649 | if ((masked & PERL_VARIANTS_WORD_MASK((~ (0ULL) / 0xFF) * 0x80)) == PERL_VARIANTS_WORD_MASK((~ (0ULL) / 0xFF) * 0x80)) { | |||
| 650 | s += PERL_WORDSIZEsizeof(PERL_UINTMAX_T); | |||
| 651 | continue; | |||
| 652 | } | |||
| 653 | ||||
| 654 | /* Here, the msbit of bytes in the word that aren't 'byte' are 1, | |||
| 655 | * and any that are, are 0. Complement and re-AND to swap that */ | |||
| 656 | masked = ~ masked; | |||
| 657 | masked &= PERL_VARIANTS_WORD_MASK((~ (0ULL) / 0xFF) * 0x80); | |||
| 658 | ||||
| 659 | /* This reduces the problem to that solved by this function */ | |||
| 660 | s += variant_byte_numberPerl_variant_byte_number(masked); | |||
| 661 | return s; | |||
| 662 | ||||
| 663 | } while (s + PERL_WORDSIZEsizeof(PERL_UINTMAX_T) <= send); | |||
| 664 | } | |||
| 665 | ||||
| 666 | #endif | |||
| 667 | ||||
| 668 | while (s < send) { | |||
| 669 | if (((*s) & mask) == byte) { | |||
| 670 | return s; | |||
| 671 | } | |||
| 672 | s++; | |||
| 673 | } | |||
| 674 | ||||
| 675 | return s; | |||
| 676 | } | |||
| 677 | ||||
| 678 | STATICstatic U8 * | |||
| 679 | S_find_span_end_mask(U8 * s, const U8 * send, const U8 span_byte, const U8 mask) | |||
| 680 | { | |||
| 681 | /* Returns the position of the first byte in the sequence between 's' and | |||
| 682 | * 'send-1' inclusive that when ANDed with 'mask' isn't 'span_byte'. | |||
| 683 | * 'span_byte' should have been ANDed with 'mask' in the call of this | |||
| 684 | * function. Returns 'send' if none found. Works like find_span_end(), | |||
| 685 | * except for the AND */ | |||
| 686 | ||||
| 687 | PERL_ARGS_ASSERT_FIND_SPAN_END_MASK((s) ? (void)0 : __assert2("re_exec.c", 687, __func__, "s")); ((send) ? (void)0 : __assert2("re_exec.c", 687, __func__, "send" )); | |||
| 688 | ||||
| 689 | assert(send >= s)((send >= s) ? (void)0 : __assert2("re_exec.c", 689, __func__ , "send >= s")); | |||
| 690 | assert((span_byte & mask) == span_byte)(((span_byte & mask) == span_byte) ? (void)0 : __assert2( "re_exec.c", 690, __func__, "(span_byte & mask) == span_byte" )); | |||
| 691 | ||||
| 692 | if ((STRLEN) (send - s) >= PERL_WORDSIZEsizeof(PERL_UINTMAX_T) | |||
| 693 | + PERL_WORDSIZEsizeof(PERL_UINTMAX_T) * PERL_IS_SUBWORD_ADDR(s)(1 & ( (UV)(s) | ( (UV)(s) >> 1) | ( ( ((UV)(s) & (sizeof(PERL_UINTMAX_T) - 1)) >> 2)))) | |||
| 694 | - (PTR2nat(s)(UV)(s) & PERL_WORD_BOUNDARY_MASK(sizeof(PERL_UINTMAX_T) - 1))) | |||
| 695 | { | |||
| 696 | PERL_UINTMAX_T span_word, mask_word; | |||
| 697 | ||||
| 698 | while (PTR2nat(s)(UV)(s) & PERL_WORD_BOUNDARY_MASK(sizeof(PERL_UINTMAX_T) - 1)) { | |||
| 699 | if (((*s) & mask) != span_byte) { | |||
| 700 | return s; | |||
| 701 | } | |||
| 702 | s++; | |||
| 703 | } | |||
| 704 | ||||
| 705 | span_word = PERL_COUNT_MULTIPLIER(~ (0ULL) / 0xFF) * span_byte; | |||
| 706 | mask_word = PERL_COUNT_MULTIPLIER(~ (0ULL) / 0xFF) * mask; | |||
| 707 | ||||
| 708 | do { | |||
| 709 | PERL_UINTMAX_T masked = (* (PERL_UINTMAX_T *) s) & mask_word; | |||
| 710 | ||||
| 711 | if (masked == span_word) { | |||
| 712 | s += PERL_WORDSIZEsizeof(PERL_UINTMAX_T); | |||
| 713 | continue; | |||
| 714 | } | |||
| 715 | ||||
| 716 | #ifdef EBCDIC | |||
| 717 | ||||
| 718 | break; | |||
| 719 | ||||
| 720 | #else | |||
| 721 | ||||
| 722 | masked ^= span_word; | |||
| 723 | masked |= masked << 1; | |||
| 724 | masked |= masked << 2; | |||
| 725 | masked |= masked << 4; | |||
| 726 | return s + variant_byte_numberPerl_variant_byte_number(masked); | |||
| 727 | ||||
| 728 | #endif | |||
| 729 | ||||
| 730 | } while (s + PERL_WORDSIZEsizeof(PERL_UINTMAX_T) <= send); | |||
| 731 | } | |||
| 732 | ||||
| 733 | while (s < send) { | |||
| 734 | if (((*s) & mask) != span_byte) { | |||
| 735 | return s; | |||
| 736 | } | |||
| 737 | s++; | |||
| 738 | } | |||
| 739 | ||||
| 740 | return s; | |||
| 741 | } | |||
| 742 | ||||
| 743 | /* | |||
| 744 | * pregexec and friends | |||
| 745 | */ | |||
| 746 | ||||
| 747 | #ifndef PERL_IN_XSUB_RE | |||
| 748 | /* | |||
| 749 | - pregexec - match a regexp against a string | |||
| 750 | */ | |||
| 751 | I32 | |||
| 752 | Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char *strend, | |||
| 753 | char *strbeg, SSize_tssize_t minend, SV *screamer, U32 nosave) | |||
| 754 | /* stringarg: the point in the string at which to begin matching */ | |||
| 755 | /* strend: pointer to null at end of string */ | |||
| 756 | /* strbeg: real beginning of string */ | |||
| 757 | /* minend: end of match must be >= minend bytes after stringarg. */ | |||
| 758 | /* screamer: SV being matched: only used for utf8 flag, pos() etc; string | |||
| 759 | * itself is accessed via the pointers above */ | |||
| 760 | /* nosave: For optimizations. */ | |||
| 761 | { | |||
| 762 | PERL_ARGS_ASSERT_PREGEXEC((prog) ? (void)0 : __assert2("re_exec.c", 762, __func__, "prog" )); ((stringarg) ? (void)0 : __assert2("re_exec.c", 762, __func__ , "stringarg")); ((strend) ? (void)0 : __assert2("re_exec.c", 762, __func__, "strend")); ((strbeg) ? (void)0 : __assert2("re_exec.c" , 762, __func__, "strbeg")); ((screamer) ? (void)0 : __assert2 ("re_exec.c", 762, __func__, "screamer")); | |||
| 763 | ||||
| 764 | return | |||
| 765 | regexec_flags(prog, stringarg, strend, strbeg, minend, screamer, NULL,my_regexec( prog,stringarg,strend,strbeg,minend,screamer,((void *)0),nosave ? 0 : 0x01) | |||
| 766 | nosave ? 0 : REXEC_COPY_STR)my_regexec( prog,stringarg,strend,strbeg,minend,screamer,((void *)0),nosave ? 0 : 0x01); | |||
| 767 | } | |||
| 768 | #endif | |||
| 769 | ||||
| 770 | ||||
| 771 | ||||
| 772 | /* re_intuit_start(): | |||
| 773 | * | |||
| 774 | * Based on some optimiser hints, try to find the earliest position in the | |||
| 775 | * string where the regex could match. | |||
| 776 | * | |||
| 777 | * rx: the regex to match against | |||
| 778 | * sv: the SV being matched: only used for utf8 flag; the string | |||
| 779 | * itself is accessed via the pointers below. Note that on | |||
| 780 | * something like an overloaded SV, SvPOK(sv) may be false | |||
| 781 | * and the string pointers may point to something unrelated to | |||
| 782 | * the SV itself. | |||
| 783 | * strbeg: real beginning of string | |||
| 784 | * strpos: the point in the string at which to begin matching | |||
| 785 | * strend: pointer to the byte following the last char of the string | |||
| 786 | * flags currently unused; set to 0 | |||
| 787 | * data: currently unused; set to NULL | |||
| 788 | * | |||
| 789 | * The basic idea of re_intuit_start() is to use some known information | |||
| 790 | * about the pattern, namely: | |||
| 791 | * | |||
| 792 | * a) the longest known anchored substring (i.e. one that's at a | |||
| 793 | * constant offset from the beginning of the pattern; but not | |||
| 794 | * necessarily at a fixed offset from the beginning of the | |||
| 795 | * string); | |||
| 796 | * b) the longest floating substring (i.e. one that's not at a constant | |||
| 797 | * offset from the beginning of the pattern); | |||
| 798 | * c) Whether the pattern is anchored to the string; either | |||
| 799 | * an absolute anchor: /^../, or anchored to \n: /^.../m, | |||
| 800 | * or anchored to pos(): /\G/; | |||
| 801 | * d) A start class: a real or synthetic character class which | |||
| 802 | * represents which characters are legal at the start of the pattern; | |||
| 803 | * | |||
| 804 | * to either quickly reject the match, or to find the earliest position | |||
| 805 | * within the string at which the pattern might match, thus avoiding | |||
| 806 | * running the full NFA engine at those earlier locations, only to | |||
| 807 | * eventually fail and retry further along. | |||
| 808 | * | |||
| 809 | * Returns NULL if the pattern can't match, or returns the address within | |||
| 810 | * the string which is the earliest place the match could occur. | |||
| 811 | * | |||
| 812 | * The longest of the anchored and floating substrings is called 'check' | |||
| 813 | * and is checked first. The other is called 'other' and is checked | |||
| 814 | * second. The 'other' substring may not be present. For example, | |||
| 815 | * | |||
| 816 | * /(abc|xyz)ABC\d{0,3}DEFG/ | |||
| 817 | * | |||
| 818 | * will have | |||
| 819 | * | |||
| 820 | * check substr (float) = "DEFG", offset 6..9 chars | |||
| 821 | * other substr (anchored) = "ABC", offset 3..3 chars | |||
| 822 | * stclass = [ax] | |||
| 823 | * | |||
| 824 | * Be aware that during the course of this function, sometimes 'anchored' | |||
| 825 | * refers to a substring being anchored relative to the start of the | |||
| 826 | * pattern, and sometimes to the pattern itself being anchored relative to | |||
| 827 | * the string. For example: | |||
| 828 | * | |||
| 829 | * /\dabc/: "abc" is anchored to the pattern; | |||
| 830 | * /^\dabc/: "abc" is anchored to the pattern and the string; | |||
| 831 | * /\d+abc/: "abc" is anchored to neither the pattern nor the string; | |||
| 832 | * /^\d+abc/: "abc" is anchored to neither the pattern nor the string, | |||
| 833 | * but the pattern is anchored to the string. | |||
| 834 | */ | |||
| 835 | ||||
| 836 | char * | |||
| 837 | Perl_re_intuit_startmy_re_intuit_start(pTHX_ | |||
| 838 | REGEXP * const rx, | |||
| 839 | SV *sv, | |||
| 840 | const char * const strbeg, | |||
| 841 | char *strpos, | |||
| 842 | char *strend, | |||
| 843 | const U32 flags, | |||
| 844 | re_scream_pos_data *data) | |||
| 845 | { | |||
| 846 | struct regexp *const prog = ReANY(rx)Perl_ReANY((const REGEXP *)(rx)); | |||
| 847 | SSize_tssize_t start_shift = prog->check_offset_minsubstrs->data[2].min_offset; | |||
| 848 | /* Should be nonnegative! */ | |||
| 849 | SSize_tssize_t end_shift = 0; | |||
| 850 | /* current lowest pos in string where the regex can start matching */ | |||
| 851 | char *rx_origin = strpos; | |||
| 852 | SV *check; | |||
| 853 | const bool_Bool utf8_target = (sv && SvUTF8(sv)((sv)->sv_flags & 0x20000000)) ? 1 : 0; /* if no sv we have to assume bytes */ | |||
| 854 | U8 other_ix = 1 - prog->substrs->check_ix; | |||
| 855 | bool_Bool ml_anch = 0; | |||
| 856 | char *other_last = strpos;/* latest pos 'other' substr already checked to */ | |||
| 857 | char *check_at = NULL((void*)0); /* check substr found at this pos */ | |||
| 858 | const I32 multiline = prog->extflags & RXf_PMf_MULTILINE(1U << (0 +0)); | |||
| 859 | RXi_GET_DECL(prog,progi)regexp_internal *progi = ((regexp_internal *)((prog)->pprivate )); | |||
| 860 | regmatch_info reginfo_buf; /* create some info to pass to find_byclass */ | |||
| 861 | regmatch_info *const reginfo = ®info_buf; | |||
| 862 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 862, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 862, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 863 | ||||
| 864 | PERL_ARGS_ASSERT_RE_INTUIT_START((rx) ? (void)0 : __assert2("re_exec.c", 864, __func__, "rx") ); ((strbeg) ? (void)0 : __assert2("re_exec.c", 864, __func__ , "strbeg")); ((strpos) ? (void)0 : __assert2("re_exec.c", 864 , __func__, "strpos")); ((strend) ? (void)0 : __assert2("re_exec.c" , 864, __func__, "strend")); | |||
| 865 | PERL_UNUSED_ARG(flags)((void)sizeof(flags)); | |||
| 866 | PERL_UNUSED_ARG(data)((void)sizeof(data)); | |||
| 867 | ||||
| 868 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Intuit: trying to determine minimum start position...\n"); } while (0) | |||
| 869 | "Intuit: trying to determine minimum start position...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Intuit: trying to determine minimum start position...\n"); } while (0); | |||
| 870 | ||||
| 871 | /* for now, assume that all substr offsets are positive. If at some point | |||
| 872 | * in the future someone wants to do clever things with lookbehind and | |||
| 873 | * -ve offsets, they'll need to fix up any code in this function | |||
| 874 | * which uses these offsets. See the thread beginning | |||
| 875 | * <20140113145929.GF27210@iabyn.com> | |||
| 876 | */ | |||
| 877 | assert(prog->substrs->data[0].min_offset >= 0)((prog->substrs->data[0].min_offset >= 0) ? (void)0 : __assert2("re_exec.c", 877, __func__, "prog->substrs->data[0].min_offset >= 0" )); | |||
| 878 | assert(prog->substrs->data[0].max_offset >= 0)((prog->substrs->data[0].max_offset >= 0) ? (void)0 : __assert2("re_exec.c", 878, __func__, "prog->substrs->data[0].max_offset >= 0" )); | |||
| 879 | assert(prog->substrs->data[1].min_offset >= 0)((prog->substrs->data[1].min_offset >= 0) ? (void)0 : __assert2("re_exec.c", 879, __func__, "prog->substrs->data[1].min_offset >= 0" )); | |||
| 880 | assert(prog->substrs->data[1].max_offset >= 0)((prog->substrs->data[1].max_offset >= 0) ? (void)0 : __assert2("re_exec.c", 880, __func__, "prog->substrs->data[1].max_offset >= 0" )); | |||
| 881 | assert(prog->substrs->data[2].min_offset >= 0)((prog->substrs->data[2].min_offset >= 0) ? (void)0 : __assert2("re_exec.c", 881, __func__, "prog->substrs->data[2].min_offset >= 0" )); | |||
| 882 | assert(prog->substrs->data[2].max_offset >= 0)((prog->substrs->data[2].max_offset >= 0) ? (void)0 : __assert2("re_exec.c", 882, __func__, "prog->substrs->data[2].max_offset >= 0" )); | |||
| 883 | ||||
| 884 | /* for now, assume that if both present, that the floating substring | |||
| 885 | * doesn't start before the anchored substring. | |||
| 886 | * If you break this assumption (e.g. doing better optimisations | |||
| 887 | * with lookahead/behind), then you'll need to audit the code in this | |||
| 888 | * function carefully first | |||
| 889 | */ | |||
| 890 | assert(((! ( (prog->substrs->data[0].utf8_substr || prog->substrs ->data[0].substr) && (prog->substrs->data[1] .utf8_substr || prog->substrs->data[1].substr)) || (prog ->substrs->data[1].min_offset >= prog->substrs-> data[0].min_offset)) ? (void)0 : __assert2("re_exec.c", 893, __func__ , "! ( (prog->anchored_utf8 || prog->anchored_substr) && (prog->float_utf8 || prog->float_substr)) || (prog->float_min_offset >= prog->anchored_offset)" )) | |||
| 891 | ! ( (prog->anchored_utf8 || prog->anchored_substr)((! ( (prog->substrs->data[0].utf8_substr || prog->substrs ->data[0].substr) && (prog->substrs->data[1] .utf8_substr || prog->substrs->data[1].substr)) || (prog ->substrs->data[1].min_offset >= prog->substrs-> data[0].min_offset)) ? (void)0 : __assert2("re_exec.c", 893, __func__ , "! ( (prog->anchored_utf8 || prog->anchored_substr) && (prog->float_utf8 || prog->float_substr)) || (prog->float_min_offset >= prog->anchored_offset)" )) | |||
| 892 | && (prog->float_utf8 || prog->float_substr))((! ( (prog->substrs->data[0].utf8_substr || prog->substrs ->data[0].substr) && (prog->substrs->data[1] .utf8_substr || prog->substrs->data[1].substr)) || (prog ->substrs->data[1].min_offset >= prog->substrs-> data[0].min_offset)) ? (void)0 : __assert2("re_exec.c", 893, __func__ , "! ( (prog->anchored_utf8 || prog->anchored_substr) && (prog->float_utf8 || prog->float_substr)) || (prog->float_min_offset >= prog->anchored_offset)" )) | |||
| 893 | || (prog->float_min_offset >= prog->anchored_offset))((! ( (prog->substrs->data[0].utf8_substr || prog->substrs ->data[0].substr) && (prog->substrs->data[1] .utf8_substr || prog->substrs->data[1].substr)) || (prog ->substrs->data[1].min_offset >= prog->substrs-> data[0].min_offset)) ? (void)0 : __assert2("re_exec.c", 893, __func__ , "! ( (prog->anchored_utf8 || prog->anchored_substr) && (prog->float_utf8 || prog->float_substr)) || (prog->float_min_offset >= prog->anchored_offset)" )); | |||
| 894 | ||||
| 895 | /* byte rather than char calculation for efficiency. It fails | |||
| 896 | * to quickly reject some cases that can't match, but will reject | |||
| 897 | * them later after doing full char arithmetic */ | |||
| 898 | if (prog->minlen > strend - strpos) { | |||
| 899 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " String too short...\n");} while (0) | |||
| 900 | " String too short...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " String too short...\n");} while (0); | |||
| 901 | goto fail; | |||
| 902 | } | |||
| 903 | ||||
| 904 | RXp_MATCH_UTF8_set(prog, utf8_target)((utf8_target) ? (((prog)->extflags) |= (1U<<(((0 +12 ) + 2)+6))) : (((prog)->extflags) &= ~(1U<<(((0 + 12) + 2)+6)))); | |||
| 905 | reginfo->is_utf8_target = cBOOL(utf8_target)((utf8_target) ? (_Bool)1 : (_Bool)0); | |||
| 906 | reginfo->info_aux = NULL((void*)0); | |||
| 907 | reginfo->strbeg = strbeg; | |||
| 908 | reginfo->strend = strend; | |||
| 909 | reginfo->is_utf8_pat = cBOOL(RX_UTF8(rx))((((rx)->sv_flags & 0x20000000)) ? (_Bool)1 : (_Bool)0 ); | |||
| 910 | reginfo->intuit = 1; | |||
| 911 | /* not actually used within intuit, but zero for safety anyway */ | |||
| 912 | reginfo->poscache_maxiter = 0; | |||
| 913 | ||||
| 914 | if (utf8_target) { | |||
| 915 | if ((!prog->anchored_utf8substrs->data[0].utf8_substr && prog->anchored_substrsubstrs->data[0].substr) | |||
| 916 | || (!prog->float_utf8substrs->data[1].utf8_substr && prog->float_substrsubstrs->data[1].substr)) | |||
| 917 | to_utf8_substr(prog)S_to_utf8_substr( prog); | |||
| 918 | check = prog->check_utf8substrs->data[2].utf8_substr; | |||
| 919 | } else { | |||
| 920 | if (!prog->check_substrsubstrs->data[2].substr && prog->check_utf8substrs->data[2].utf8_substr) { | |||
| 921 | if (! to_byte_substr(prog)S_to_byte_substr( prog)) { | |||
| 922 | NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail)do { do {if (__builtin_expect(((PL_debug & 0x00100000) ? ( _Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00)) ) Perl_re_printf( "%s", non_utf8_target_but_utf8_required);} while (0); goto fail; } while (0); | |||
| 923 | } | |||
| 924 | } | |||
| 925 | check = prog->check_substrsubstrs->data[2].substr; | |||
| 926 | } | |||
| 927 | ||||
| 928 | /* dump the various substring data */ | |||
| 929 | DEBUG_OPTIMISE_MORE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 930 | int i;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 931 | for (i=0; i<=2; i++) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 932 | SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substrdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 933 | : prog->substrs->data[i].substr);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 934 | if (!sv)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 935 | continue;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 936 | ||||
| 937 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 938 | " substrs[%d]: min=%" IVdf " max=%" IVdf " end shift=%" IVdfdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 939 | " useful=%" IVdf " utf8=%d [%s]\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 940 | i,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 941 | (IV)prog->substrs->data[i].min_offset,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 942 | (IV)prog->substrs->data[i].max_offset,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 943 | (IV)prog->substrs->data[i].end_shift,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 944 | BmUSEFUL(sv),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 945 | utf8_target ? 1 : 0,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 946 | SvPEEK(sv));do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 947 | }do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0) | |||
| 948 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { int i; for (i=0; i<=2; i++ ) { SV *sv = (utf8_target ? prog->substrs->data[i].utf8_substr : prog->substrs->data[i].substr); if (!sv) continue; Perl_re_printf ( " substrs[%d]: min=%" "ld" " max=%" "ld" " end shift=%" "ld" " useful=%" "ld" " utf8=%d [%s]\n", i, (IV)prog->substrs-> data[i].min_offset, (IV)prog->substrs->data[i].max_offset , (IV)prog->substrs->data[i].end_shift, (*({ SV *const _bmuseful = ((SV *)({ void *_p = (sv); _p; })); ((((svtype)((_bmuseful )->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV" )); ((( ((_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 944, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &(( (XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))->xmg_u .xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 944, __func__, "SvVALID(_bmuseful)" )); ((!((_bmuseful)->sv_flags & 0x00000100)) ? (void)0 : __assert2("re_exec.c", 944, __func__, "!SvIOK(_bmuseful)") ); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv) ; })), utf8_target ? 1 : 0, Perl_sv_peek( sv)); } };} while ( 0); | |||
| 949 | ||||
| 950 | if (prog->intflags & PREGf_ANCH( 0x00000800 | 0x00001000 | 0x00000400 )) { /* Match at \G, beg-of-str or after \n */ | |||
| 951 | ||||
| 952 | /* ml_anch: check after \n? | |||
| 953 | * | |||
| 954 | * A note about PREGf_IMPLICIT: on an un-anchored pattern beginning | |||
| 955 | * with /.*.../, these flags will have been added by the | |||
| 956 | * compiler: | |||
| 957 | * /.*abc/, /.*abc/m: PREGf_IMPLICIT | PREGf_ANCH_MBOL | |||
| 958 | * /.*abc/s: PREGf_IMPLICIT | PREGf_ANCH_SBOL | |||
| 959 | */ | |||
| 960 | ml_anch = (prog->intflags & PREGf_ANCH_MBOL0x00000400) | |||
| 961 | && !(prog->intflags & PREGf_IMPLICIT0x00000002); | |||
| 962 | ||||
| 963 | if (!ml_anch && !(prog->intflags & PREGf_IMPLICIT0x00000002)) { | |||
| 964 | /* we are only allowed to match at BOS or \G */ | |||
| 965 | ||||
| 966 | /* trivially reject if there's a BOS anchor and we're not at BOS. | |||
| 967 | * | |||
| 968 | * Note that we don't try to do a similar quick reject for | |||
| 969 | * \G, since generally the caller will have calculated strpos | |||
| 970 | * based on pos() and gofs, so the string is already correctly | |||
| 971 | * anchored by definition; and handling the exceptions would | |||
| 972 | * be too fiddly (e.g. REXEC_IGNOREPOS). | |||
| 973 | */ | |||
| 974 | if ( strpos != strbeg | |||
| 975 | && (prog->intflags & PREGf_ANCH_SBOL0x00000800)) | |||
| 976 | { | |||
| 977 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Not at start...\n");} while (0) | |||
| 978 | " Not at start...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Not at start...\n");} while (0); | |||
| 979 | goto fail; | |||
| 980 | } | |||
| 981 | ||||
| 982 | /* in the presence of an anchor, the anchored (relative to the | |||
| 983 | * start of the regex) substr must also be anchored relative | |||
| 984 | * to strpos. So quickly reject if substr isn't found there. | |||
| 985 | * This works for \G too, because the caller will already have | |||
| 986 | * subtracted gofs from pos, and gofs is the offset from the | |||
| 987 | * \G to the start of the regex. For example, in /.abc\Gdef/, | |||
| 988 | * where substr="abcdef", pos()=3, gofs=4, offset_min=1: | |||
| 989 | * caller will have set strpos=pos()-4; we look for the substr | |||
| 990 | * at position pos()-4+1, which lines up with the "a" */ | |||
| 991 | ||||
| 992 | if (prog->check_offset_minsubstrs->data[2].min_offset == prog->check_offset_maxsubstrs->data[2].max_offset) { | |||
| 993 | /* Substring at constant offset from beg-of-str... */ | |||
| 994 | SSize_tssize_t slen = SvCUR(check)(*({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 994, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 994, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 994, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })); | |||
| 995 | char *s = HOP3c(strpos, prog->check_offset_min, strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strpos) , prog->substrs->data[2].min_offset, (U8*)(strend)) : ( U8*)(strpos + prog->substrs->data[2].min_offset))); | |||
| 996 | ||||
| 997 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Looking for check substr at fixed offset %" "ld" "...\n" , (IV)prog->substrs->data[2].min_offset);} while (0) | |||
| 998 | " Looking for check substr at fixed offset %" IVdf "...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Looking for check substr at fixed offset %" "ld" "...\n" , (IV)prog->substrs->data[2].min_offset);} while (0) | |||
| 999 | (IV)prog->check_offset_min))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Looking for check substr at fixed offset %" "ld" "...\n" , (IV)prog->substrs->data[2].min_offset);} while (0); | |||
| 1000 | ||||
| 1001 | if (SvTAIL(check)({ const SV *const _svtail = (const SV *)(check); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1001, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1001, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1001, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1001, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1001, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1001, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })) { | |||
| 1002 | /* In this case, the regex is anchored at the end too. | |||
| 1003 | * Unless it's a multiline match, the lengths must match | |||
| 1004 | * exactly, give or take a \n. NB: slen >= 1 since | |||
| 1005 | * the last char of check is \n */ | |||
| 1006 | if (!multiline | |||
| 1007 | && ( strend - s > slen | |||
| 1008 | || strend - s < slen - 1 | |||
| 1009 | || (strend - s == slen && strend[-1] != '\n'))) | |||
| 1010 | { | |||
| 1011 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " String too long...\n");} while (0) | |||
| 1012 | " String too long...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " String too long...\n");} while (0); | |||
| 1013 | goto fail_finish; | |||
| 1014 | } | |||
| 1015 | /* Now should match s[0..slen-2] */ | |||
| 1016 | slen--; | |||
| 1017 | } | |||
| 1018 | if (slen && (strend - s < slen | |||
| 1019 | || *SvPVX_const(check)((const char*)(0 + (check)->sv_u.svu_pv)) != *s | |||
| 1020 | || (slen > 1 && (memNE(SvPVX_const(check), s, slen)(! (memcmp(((const void *) (((const char*)(0 + (check)->sv_u .svu_pv)))), ((const void *) (s)), slen) == 0)))))) | |||
| 1021 | { | |||
| 1022 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " String not equal...\n");} while (0) | |||
| 1023 | " String not equal...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " String not equal...\n");} while (0); | |||
| 1024 | goto fail_finish; | |||
| 1025 | } | |||
| 1026 | ||||
| 1027 | check_at = s; | |||
| 1028 | goto success_at_start; | |||
| 1029 | } | |||
| 1030 | } | |||
| 1031 | } | |||
| 1032 | ||||
| 1033 | end_shift = prog->check_end_shiftsubstrs->data[2].end_shift; | |||
| 1034 | ||||
| 1035 | #ifdef DEBUGGING /* 7/99: reports of failure (with the older version) */ | |||
| 1036 | if (end_shift < 0) | |||
| 1037 | Perl_croak(aTHX_ "panic: end_shift: %" IVdf"ld" " pattern:\n%s\n ", | |||
| 1038 | (IV)end_shift, RX_PRECOMP(rx)((*({ SV *const _svpvx = ((SV *)({ void *_p = (rx); _p; })); ( (PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1038, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1038, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1038, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); })) + Perl_ReANY((const REGEXP *)(rx))->pre_prefix)); | |||
| 1039 | #endif | |||
| 1040 | ||||
| 1041 | restart: | |||
| 1042 | ||||
| 1043 | /* This is the (re)entry point of the main loop in this function. | |||
| 1044 | * The goal of this loop is to: | |||
| 1045 | * 1) find the "check" substring in the region rx_origin..strend | |||
| 1046 | * (adjusted by start_shift / end_shift). If not found, reject | |||
| 1047 | * immediately. | |||
| 1048 | * 2) If it exists, look for the "other" substr too if defined; for | |||
| 1049 | * example, if the check substr maps to the anchored substr, then | |||
| 1050 | * check the floating substr, and vice-versa. If not found, go | |||
| 1051 | * back to (1) with rx_origin suitably incremented. | |||
| 1052 | * 3) If we find an rx_origin position that doesn't contradict | |||
| 1053 | * either of the substrings, then check the possible additional | |||
| 1054 | * constraints on rx_origin of /^.../m or a known start class. | |||
| 1055 | * If these fail, then depending on which constraints fail, jump | |||
| 1056 | * back to here, or to various other re-entry points further along | |||
| 1057 | * that skip some of the first steps. | |||
| 1058 | * 4) If we pass all those tests, update the BmUSEFUL() count on the | |||
| 1059 | * substring. If the start position was determined to be at the | |||
| 1060 | * beginning of the string - so, not rejected, but not optimised, | |||
| 1061 | * since we have to run regmatch from position 0 - decrement the | |||
| 1062 | * BmUSEFUL() count. Otherwise increment it. | |||
| 1063 | */ | |||
| 1064 | ||||
| 1065 | ||||
| 1066 | /* first, look for the 'check' substring */ | |||
| 1067 | ||||
| 1068 | { | |||
| 1069 | U8* start_point; | |||
| 1070 | U8* end_point; | |||
| 1071 | ||||
| 1072 | DEBUG_OPTIMISE_MORE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1073 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1074 | " At restart: rx_origin=%" IVdf " Check offset min: %" IVdfdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1075 | " Start shift: %" IVdf " End shift %" IVdfdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1076 | " Real end Shift: %" IVdf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1077 | (IV)(rx_origin - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1078 | (IV)prog->check_offset_min,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1079 | (IV)start_shift,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1080 | (IV)end_shift,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1081 | (IV)prog->check_end_shift);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0) | |||
| 1082 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) { Perl_re_printf( " At restart: rx_origin=%" "ld" " Check offset min: %" "ld" " Start shift: %" "ld" " End shift %" "ld" " Real end Shift: %" "ld" "\n", (IV)(rx_origin - strbeg ), (IV)prog->substrs->data[2].min_offset, (IV)start_shift , (IV)end_shift, (IV)prog->substrs->data[2].end_shift); };} while (0); | |||
| 1083 | ||||
| 1084 | end_point = HOPBACK3(strend, end_shift, rx_origin)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)strend, (ssize_t )0-end_shift, (U8*)(rx_origin)) : (strend - end_shift >= rx_origin ) ? (U8*)strend - end_shift : ((void*)0)); | |||
| 1085 | if (!end_point) | |||
| 1086 | goto fail_finish; | |||
| 1087 | start_point = HOPMAYBE3(rx_origin, start_shift, end_point)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)rx_origin, start_shift , (U8*)(end_point)) : ((U8*)rx_origin + start_shift <= end_point ) ? (U8*)rx_origin + start_shift : ((void*)0)); | |||
| 1088 | if (!start_point) | |||
| 1089 | goto fail_finish; | |||
| 1090 | ||||
| 1091 | ||||
| 1092 | /* If the regex is absolutely anchored to either the start of the | |||
| 1093 | * string (SBOL) or to pos() (ANCH_GPOS), then | |||
| 1094 | * check_offset_max represents an upper bound on the string where | |||
| 1095 | * the substr could start. For the ANCH_GPOS case, we assume that | |||
| 1096 | * the caller of intuit will have already set strpos to | |||
| 1097 | * pos()-gofs, so in this case strpos + offset_max will still be | |||
| 1098 | * an upper bound on the substr. | |||
| 1099 | */ | |||
| 1100 | if (!ml_anch | |||
| 1101 | && prog->intflags & PREGf_ANCH( 0x00000800 | 0x00001000 | 0x00000400 ) | |||
| 1102 | && prog->check_offset_maxsubstrs->data[2].max_offset != SSize_t_MAX(ssize_t)(~(size_t)0 >> 1)) | |||
| 1103 | { | |||
| 1104 | SSize_tssize_t check_len = SvCUR(check)(*({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1104, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1104, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1104, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - !!SvTAIL(check)({ const SV *const _svtail = (const SV *)(check); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1104, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1104, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1104, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1104, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1104, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1104, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }); | |||
| 1105 | const char * const anchor = | |||
| 1106 | (prog->intflags & PREGf_ANCH_GPOS0x00001000 ? strpos : strbeg); | |||
| 1107 | SSize_tssize_t targ_len = (char*)end_point - anchor; | |||
| 1108 | ||||
| 1109 | if (check_len > targ_len) { | |||
| 1110 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Target string too short to match required substring...\n") ;} while (0) | |||
| 1111 | "Target string too short to match required substring...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Target string too short to match required substring...\n") ;} while (0); | |||
| 1112 | goto fail_finish; | |||
| 1113 | } | |||
| 1114 | ||||
| 1115 | /* do a bytes rather than chars comparison. It's conservative; | |||
| 1116 | * so it skips doing the HOP if the result can't possibly end | |||
| 1117 | * up earlier than the old value of end_point. | |||
| 1118 | */ | |||
| 1119 | assert(anchor + check_len <= (char *)end_point)((anchor + check_len <= (char *)end_point) ? (void)0 : __assert2 ("re_exec.c", 1119, __func__, "anchor + check_len <= (char *)end_point" )); | |||
| 1120 | if (prog->check_offset_maxsubstrs->data[2].max_offset + check_len < targ_len) { | |||
| 1121 | end_point = HOP3lim((U8*)anchor,(reginfo->is_utf8_target ? S_reghop3((U8*)((U8*)anchor), prog ->substrs->data[2].max_offset, (U8*)(end_point - check_len )) : (U8*)(((U8*)anchor + prog->substrs->data[2].max_offset ) > end_point - check_len ? end_point - check_len : ((U8*) anchor + prog->substrs->data[2].max_offset))) | |||
| 1122 | prog->check_offset_max,(reginfo->is_utf8_target ? S_reghop3((U8*)((U8*)anchor), prog ->substrs->data[2].max_offset, (U8*)(end_point - check_len )) : (U8*)(((U8*)anchor + prog->substrs->data[2].max_offset ) > end_point - check_len ? end_point - check_len : ((U8*) anchor + prog->substrs->data[2].max_offset))) | |||
| 1123 | end_point - check_len(reginfo->is_utf8_target ? S_reghop3((U8*)((U8*)anchor), prog ->substrs->data[2].max_offset, (U8*)(end_point - check_len )) : (U8*)(((U8*)anchor + prog->substrs->data[2].max_offset ) > end_point - check_len ? end_point - check_len : ((U8*) anchor + prog->substrs->data[2].max_offset))) | |||
| 1124 | )(reginfo->is_utf8_target ? S_reghop3((U8*)((U8*)anchor), prog ->substrs->data[2].max_offset, (U8*)(end_point - check_len )) : (U8*)(((U8*)anchor + prog->substrs->data[2].max_offset ) > end_point - check_len ? end_point - check_len : ((U8*) anchor + prog->substrs->data[2].max_offset))) | |||
| 1125 | + check_len; | |||
| 1126 | if (end_point < start_point) | |||
| 1127 | goto fail_finish; | |||
| 1128 | } | |||
| 1129 | } | |||
| 1130 | ||||
| 1131 | check_at = fbm_instr( start_point, end_point,Perl_fbm_instr( start_point,end_point,check,multiline ? 1 : 0 ) | |||
| 1132 | check, multiline ? FBMrf_MULTILINE : 0)Perl_fbm_instr( start_point,end_point,check,multiline ? 1 : 0 ); | |||
| 1133 | ||||
| 1134 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'check' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)((char*)start_point - strbeg), (IV)((char*)end_point - strbeg), (IV)(check_at ? check_at - strbeg : -1) );} while (0) | |||
| 1135 | " doing 'check' fbm scan, [%" IVdf "..%" IVdf "] gave %" IVdf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'check' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)((char*)start_point - strbeg), (IV)((char*)end_point - strbeg), (IV)(check_at ? check_at - strbeg : -1) );} while (0) | |||
| 1136 | (IV)((char*)start_point - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'check' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)((char*)start_point - strbeg), (IV)((char*)end_point - strbeg), (IV)(check_at ? check_at - strbeg : -1) );} while (0) | |||
| 1137 | (IV)((char*)end_point - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'check' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)((char*)start_point - strbeg), (IV)((char*)end_point - strbeg), (IV)(check_at ? check_at - strbeg : -1) );} while (0) | |||
| 1138 | (IV)(check_at ? check_at - strbeg : -1)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'check' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)((char*)start_point - strbeg), (IV)((char*)end_point - strbeg), (IV)(check_at ? check_at - strbeg : -1) );} while (0) | |||
| 1139 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'check' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)((char*)start_point - strbeg), (IV)((char*)end_point - strbeg), (IV)(check_at ? check_at - strbeg : -1) );} while (0); | |||
| 1140 | ||||
| 1141 | /* Update the count-of-usability, remove useless subpatterns, | |||
| 1142 | unshift s. */ | |||
| 1143 | ||||
| 1144 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1145 | RE_PV_QUOTED_DECL(quoted, utf8_target, PERL_DEBUG_PAD_ZERO(0),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1146 | SvPVX_const(check), RE_SV_DUMPLEN(check), 30);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1147 | Perl_re_printf( aTHX_ " %s %s substr %s%s%s",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1148 | (check_at ? "Found" : "Did not find"),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1149 | (check == (utf8_target ? prog->anchored_utf8 : prog->anchored_substr)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1150 | ? "anchored" : "floating"),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1151 | quoted,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1152 | RE_SV_TAIL(check),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1153 | (check_at ? " at offset " : "...\n") );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0) | |||
| 1154 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1145, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1145, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (check)->sv_u.svu_pv))),((( *({ const SV *const _svcur = (const SV *)(check); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1146, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1146, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1146, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1146, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s%s", (check_at ? "Found" : "Did not find"), (check == (utf8_target ? prog-> substrs->data[0].utf8_substr : prog->substrs->data[0 ].substr) ? "anchored" : "floating"), quoted, (({ const SV *const _svtail = (const SV *)(check); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype) ((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1152, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1152, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : ""), (check_at ? " at offset " : "...\n" ) ); };} while (0); | |||
| 1155 | ||||
| 1156 | if (!check_at) | |||
| 1157 | goto fail_finish; | |||
| 1158 | /* set rx_origin to the minimum position where the regex could start | |||
| 1159 | * matching, given the constraint of the just-matched check substring. | |||
| 1160 | * But don't set it lower than previously. | |||
| 1161 | */ | |||
| 1162 | ||||
| 1163 | if (check_at - rx_origin > prog->check_offset_maxsubstrs->data[2].max_offset) | |||
| 1164 | rx_origin = HOP3c(check_at, -prog->check_offset_max, rx_origin)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(check_at ), -prog->substrs->data[2].max_offset, (U8*)(rx_origin) ) : (U8*)(check_at + -prog->substrs->data[2].max_offset ))); | |||
| 1165 | /* Finish the diagnostic message */ | |||
| 1166 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%ld (rx_origin now %" "ld" ")...\n", (long)(check_at - strbeg ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1167 | "%ld (rx_origin now %" IVdf ")...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%ld (rx_origin now %" "ld" ")...\n", (long)(check_at - strbeg ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1168 | (long)(check_at - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%ld (rx_origin now %" "ld" ")...\n", (long)(check_at - strbeg ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1169 | (IV)(rx_origin - strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%ld (rx_origin now %" "ld" ")...\n", (long)(check_at - strbeg ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1170 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%ld (rx_origin now %" "ld" ")...\n", (long)(check_at - strbeg ), (IV)(rx_origin - strbeg) );} while (0); | |||
| 1171 | } | |||
| 1172 | ||||
| 1173 | ||||
| 1174 | /* now look for the 'other' substring if defined */ | |||
| 1175 | ||||
| 1176 | if (prog->substrs->data[other_ix].utf8_substr | |||
| 1177 | || prog->substrs->data[other_ix].substr) | |||
| 1178 | { | |||
| 1179 | /* Take into account the "other" substring. */ | |||
| 1180 | char *last, *last1; | |||
| 1181 | char *s; | |||
| 1182 | SV* must; | |||
| 1183 | struct reg_substr_datum *other; | |||
| 1184 | ||||
| 1185 | do_other_substr: | |||
| 1186 | other = &prog->substrs->data[other_ix]; | |||
| 1187 | if (!utf8_target && !other->substr) { | |||
| 1188 | if (!to_byte_substr(prog)S_to_byte_substr( prog)) { | |||
| 1189 | NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail)do { do {if (__builtin_expect(((PL_debug & 0x00100000) ? ( _Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00)) ) Perl_re_printf( "%s", non_utf8_target_but_utf8_required);} while (0); goto fail; } while (0); | |||
| 1190 | } | |||
| 1191 | } | |||
| 1192 | ||||
| 1193 | /* if "other" is anchored: | |||
| 1194 | * we've previously found a floating substr starting at check_at. | |||
| 1195 | * This means that the regex origin must lie somewhere | |||
| 1196 | * between min (rx_origin): HOP3(check_at, -check_offset_max) | |||
| 1197 | * and max: HOP3(check_at, -check_offset_min) | |||
| 1198 | * (except that min will be >= strpos) | |||
| 1199 | * So the fixed substr must lie somewhere between | |||
| 1200 | * HOP3(min, anchored_offset) | |||
| 1201 | * HOP3(max, anchored_offset) + SvCUR(substr) | |||
| 1202 | */ | |||
| 1203 | ||||
| 1204 | /* if "other" is floating | |||
| 1205 | * Calculate last1, the absolute latest point where the | |||
| 1206 | * floating substr could start in the string, ignoring any | |||
| 1207 | * constraints from the earlier fixed match. It is calculated | |||
| 1208 | * as follows: | |||
| 1209 | * | |||
| 1210 | * strend - prog->minlen (in chars) is the absolute latest | |||
| 1211 | * position within the string where the origin of the regex | |||
| 1212 | * could appear. The latest start point for the floating | |||
| 1213 | * substr is float_min_offset(*) on from the start of the | |||
| 1214 | * regex. last1 simply combines thee two offsets. | |||
| 1215 | * | |||
| 1216 | * (*) You might think the latest start point should be | |||
| 1217 | * float_max_offset from the regex origin, and technically | |||
| 1218 | * you'd be correct. However, consider | |||
| 1219 | * /a\d{2,4}bcd\w/ | |||
| 1220 | * Here, float min, max are 3,5 and minlen is 7. | |||
| 1221 | * This can match either | |||
| 1222 | * /a\d\dbcd\w/ | |||
| 1223 | * /a\d\d\dbcd\w/ | |||
| 1224 | * /a\d\d\d\dbcd\w/ | |||
| 1225 | * In the first case, the regex matches minlen chars; in the | |||
| 1226 | * second, minlen+1, in the third, minlen+2. | |||
| 1227 | * In the first case, the floating offset is 3 (which equals | |||
| 1228 | * float_min), in the second, 4, and in the third, 5 (which | |||
| 1229 | * equals float_max). In all cases, the floating string bcd | |||
| 1230 | * can never start more than 4 chars from the end of the | |||
| 1231 | * string, which equals minlen - float_min. As the substring | |||
| 1232 | * starts to match more than float_min from the start of the | |||
| 1233 | * regex, it makes the regex match more than minlen chars, | |||
| 1234 | * and the two cancel each other out. So we can always use | |||
| 1235 | * float_min - minlen, rather than float_max - minlen for the | |||
| 1236 | * latest position in the string. | |||
| 1237 | * | |||
| 1238 | * Note that -minlen + float_min_offset is equivalent (AFAIKT) | |||
| 1239 | * to CHR_SVLEN(must) - !!SvTAIL(must) + prog->float_end_shift | |||
| 1240 | */ | |||
| 1241 | ||||
| 1242 | assert(prog->minlen >= other->min_offset)((prog->minlen >= other->min_offset) ? (void)0 : __assert2 ("re_exec.c", 1242, __func__, "prog->minlen >= other->min_offset" )); | |||
| 1243 | last1 = HOP3c(strend,((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , other->min_offset - prog->minlen, (U8*)(strbeg)) : (U8 *)(strend + other->min_offset - prog->minlen))) | |||
| 1244 | other->min_offset - prog->minlen, strbeg)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , other->min_offset - prog->minlen, (U8*)(strbeg)) : (U8 *)(strend + other->min_offset - prog->minlen))); | |||
| 1245 | ||||
| 1246 | if (other_ix) {/* i.e. if (other-is-float) */ | |||
| 1247 | /* last is the latest point where the floating substr could | |||
| 1248 | * start, *given* any constraints from the earlier fixed | |||
| 1249 | * match. This constraint is that the floating string starts | |||
| 1250 | * <= float_max_offset chars from the regex origin (rx_origin). | |||
| 1251 | * If this value is less than last1, use it instead. | |||
| 1252 | */ | |||
| 1253 | assert(rx_origin <= last1)((rx_origin <= last1) ? (void)0 : __assert2("re_exec.c", 1253 , __func__, "rx_origin <= last1")); | |||
| 1254 | last = | |||
| 1255 | /* this condition handles the offset==infinity case, and | |||
| 1256 | * is a short-cut otherwise. Although it's comparing a | |||
| 1257 | * byte offset to a char length, it does so in a safe way, | |||
| 1258 | * since 1 char always occupies 1 or more bytes, | |||
| 1259 | * so if a string range is (last1 - rx_origin) bytes, | |||
| 1260 | * it will be less than or equal to (last1 - rx_origin) | |||
| 1261 | * chars; meaning it errs towards doing the accurate HOP3 | |||
| 1262 | * rather than just using last1 as a short-cut */ | |||
| 1263 | (last1 - rx_origin) < other->max_offset | |||
| 1264 | ? last1 | |||
| 1265 | : (char*)HOP3lim(rx_origin, other->max_offset, last1)(reginfo->is_utf8_target ? S_reghop3((U8*)(rx_origin), other ->max_offset, (U8*)(last1)) : (U8*)((rx_origin + other-> max_offset) > last1 ? last1 : (rx_origin + other->max_offset ))); | |||
| 1266 | } | |||
| 1267 | else { | |||
| 1268 | assert(strpos + start_shift <= check_at)((strpos + start_shift <= check_at) ? (void)0 : __assert2( "re_exec.c", 1268, __func__, "strpos + start_shift <= check_at" )); | |||
| 1269 | last = HOP4c(check_at, other->min_offset - start_shift,((char*)(reginfo->is_utf8_target ? S_reghop4((U8*)(check_at ), other->min_offset - start_shift, (U8*)(strbeg), (U8*)(strend )) : (U8*)(check_at + other->min_offset - start_shift))) | |||
| 1270 | strbeg, strend)((char*)(reginfo->is_utf8_target ? S_reghop4((U8*)(check_at ), other->min_offset - start_shift, (U8*)(strbeg), (U8*)(strend )) : (U8*)(check_at + other->min_offset - start_shift))); | |||
| 1271 | } | |||
| 1272 | ||||
| 1273 | s = HOP3c(rx_origin, other->min_offset, strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(rx_origin ), other->min_offset, (U8*)(strend)) : (U8*)(rx_origin + other ->min_offset))); | |||
| 1274 | if (s < other_last) /* These positions already checked */ | |||
| 1275 | s = other_last; | |||
| 1276 | ||||
| 1277 | must = utf8_target ? other->utf8_substr : other->substr; | |||
| 1278 | assert(SvPOK(must))((((must)->sv_flags & 0x00000400)) ? (void)0 : __assert2 ("re_exec.c", 1278, __func__, "SvPOK(must)")); | |||
| 1279 | { | |||
| 1280 | char *from = s; | |||
| 1281 | char *to = last + SvCUR(must)(*({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1281, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1281, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1281, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (SvTAIL(must)({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1281, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1281, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1281, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1281, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1281, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1281, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0); | |||
| 1282 | ||||
| 1283 | if (to > strend) | |||
| 1284 | to = strend; | |||
| 1285 | if (from > to) { | |||
| 1286 | s = NULL((void*)0); | |||
| 1287 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " skipping 'other' fbm scan: %" "ld" " > %" "ld" "\n", ( IV)(from - strbeg), (IV)(to - strbeg) );} while (0) | |||
| 1288 | " skipping 'other' fbm scan: %" IVdf " > %" IVdf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " skipping 'other' fbm scan: %" "ld" " > %" "ld" "\n", ( IV)(from - strbeg), (IV)(to - strbeg) );} while (0) | |||
| 1289 | (IV)(from - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " skipping 'other' fbm scan: %" "ld" " > %" "ld" "\n", ( IV)(from - strbeg), (IV)(to - strbeg) );} while (0) | |||
| 1290 | (IV)(to - strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " skipping 'other' fbm scan: %" "ld" " > %" "ld" "\n", ( IV)(from - strbeg), (IV)(to - strbeg) );} while (0) | |||
| 1291 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " skipping 'other' fbm scan: %" "ld" " > %" "ld" "\n", ( IV)(from - strbeg), (IV)(to - strbeg) );} while (0); | |||
| 1292 | } | |||
| 1293 | else { | |||
| 1294 | s = fbm_instr(Perl_fbm_instr( (unsigned char*)from,(unsigned char*)to,must, multiline ? 1 : 0) | |||
| 1295 | (unsigned char*)from,Perl_fbm_instr( (unsigned char*)from,(unsigned char*)to,must, multiline ? 1 : 0) | |||
| 1296 | (unsigned char*)to,Perl_fbm_instr( (unsigned char*)from,(unsigned char*)to,must, multiline ? 1 : 0) | |||
| 1297 | must,Perl_fbm_instr( (unsigned char*)from,(unsigned char*)to,must, multiline ? 1 : 0) | |||
| 1298 | multiline ? FBMrf_MULTILINE : 0Perl_fbm_instr( (unsigned char*)from,(unsigned char*)to,must, multiline ? 1 : 0) | |||
| 1299 | )Perl_fbm_instr( (unsigned char*)from,(unsigned char*)to,must, multiline ? 1 : 0); | |||
| 1300 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'other' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)(from - strbeg), (IV)(to - strbeg), (IV)(s ? s - strbeg : -1) );} while (0) | |||
| 1301 | " doing 'other' fbm scan, [%" IVdf "..%" IVdf "] gave %" IVdf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'other' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)(from - strbeg), (IV)(to - strbeg), (IV)(s ? s - strbeg : -1) );} while (0) | |||
| 1302 | (IV)(from - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'other' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)(from - strbeg), (IV)(to - strbeg), (IV)(s ? s - strbeg : -1) );} while (0) | |||
| 1303 | (IV)(to - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'other' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)(from - strbeg), (IV)(to - strbeg), (IV)(s ? s - strbeg : -1) );} while (0) | |||
| 1304 | (IV)(s ? s - strbeg : -1)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'other' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)(from - strbeg), (IV)(to - strbeg), (IV)(s ? s - strbeg : -1) );} while (0) | |||
| 1305 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " doing 'other' fbm scan, [%" "ld" "..%" "ld" "] gave %" "ld" "\n", (IV)(from - strbeg), (IV)(to - strbeg), (IV)(s ? s - strbeg : -1) );} while (0); | |||
| 1306 | } | |||
| 1307 | } | |||
| 1308 | ||||
| 1309 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 1310 | RE_PV_QUOTED_DECL(quoted, utf8_target, PERL_DEBUG_PAD_ZERO(0),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 1311 | SvPVX_const(must), RE_SV_DUMPLEN(must), 30);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 1312 | Perl_re_printf( aTHX_ " %s %s substr %s%s",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 1313 | s ? "Found" : "Contradicts",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 1314 | other_ix ? "floating" : "anchored",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 1315 | quoted, RE_SV_TAIL(must));do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 1316 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { const char * const quoted = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 1310, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 1310, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1311, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1311, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1311, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1311, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( " %s %s substr %s%s", s ? "Found" : "Contradicts", other_ix ? "floating" : "anchored", quoted, ( ({ const SV *const _svtail = (const SV *)(must); ((((svtype)( (_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVAV")) ; ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1315, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1315, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0); | |||
| 1317 | ||||
| 1318 | ||||
| 1319 | if (!s) { | |||
| 1320 | /* last1 is latest possible substr location. If we didn't | |||
| 1321 | * find it before there, we never will */ | |||
| 1322 | if (last >= last1) { | |||
| 1323 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; giving up...\n");} while (0) | |||
| 1324 | "; giving up...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; giving up...\n");} while (0); | |||
| 1325 | goto fail_finish; | |||
| 1326 | } | |||
| 1327 | ||||
| 1328 | /* try to find the check substr again at a later | |||
| 1329 | * position. Maybe next time we'll find the "other" substr | |||
| 1330 | * in range too */ | |||
| 1331 | other_last = HOP3c(last, 1, strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(last), 1 , (U8*)(strend)) : (U8*)(last + 1))) /* highest failure */; | |||
| 1332 | rx_origin = | |||
| 1333 | other_ix /* i.e. if other-is-float */ | |||
| 1334 | ? HOP3c(rx_origin, 1, strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(rx_origin ), 1, (U8*)(strend)) : (U8*)(rx_origin + 1))) | |||
| 1335 | : HOP4c(last, 1 - other->min_offset, strbeg, strend)((char*)(reginfo->is_utf8_target ? S_reghop4((U8*)(last), 1 - other->min_offset, (U8*)(strbeg), (U8*)(strend)) : (U8* )(last + 1 - other->min_offset))); | |||
| 1336 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; about to retry %s at offset %ld (rx_origin now %" "ld" ")...\n" , (other_ix ? "floating" : "anchored"), (long)(((char*)(reginfo ->is_utf8_target ? S_reghop3((U8*)(check_at), 1, (U8*)(strend )) : (U8*)(check_at + 1))) - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1337 | "; about to retry %s at offset %ld (rx_origin now %" IVdf ")...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; about to retry %s at offset %ld (rx_origin now %" "ld" ")...\n" , (other_ix ? "floating" : "anchored"), (long)(((char*)(reginfo ->is_utf8_target ? S_reghop3((U8*)(check_at), 1, (U8*)(strend )) : (U8*)(check_at + 1))) - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1338 | (other_ix ? "floating" : "anchored"),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; about to retry %s at offset %ld (rx_origin now %" "ld" ")...\n" , (other_ix ? "floating" : "anchored"), (long)(((char*)(reginfo ->is_utf8_target ? S_reghop3((U8*)(check_at), 1, (U8*)(strend )) : (U8*)(check_at + 1))) - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1339 | (long)(HOP3c(check_at, 1, strend) - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; about to retry %s at offset %ld (rx_origin now %" "ld" ")...\n" , (other_ix ? "floating" : "anchored"), (long)(((char*)(reginfo ->is_utf8_target ? S_reghop3((U8*)(check_at), 1, (U8*)(strend )) : (U8*)(check_at + 1))) - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1340 | (IV)(rx_origin - strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; about to retry %s at offset %ld (rx_origin now %" "ld" ")...\n" , (other_ix ? "floating" : "anchored"), (long)(((char*)(reginfo ->is_utf8_target ? S_reghop3((U8*)(check_at), 1, (U8*)(strend )) : (U8*)(check_at + 1))) - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1341 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "; about to retry %s at offset %ld (rx_origin now %" "ld" ")...\n" , (other_ix ? "floating" : "anchored"), (long)(((char*)(reginfo ->is_utf8_target ? S_reghop3((U8*)(check_at), 1, (U8*)(strend )) : (U8*)(check_at + 1))) - strbeg), (IV)(rx_origin - strbeg ) );} while (0); | |||
| 1342 | goto restart; | |||
| 1343 | } | |||
| 1344 | else { | |||
| 1345 | if (other_ix) { /* if (other-is-float) */ | |||
| 1346 | /* other_last is set to s, not s+1, since its possible for | |||
| 1347 | * a floating substr to fail first time, then succeed | |||
| 1348 | * second time at the same floating position; e.g.: | |||
| 1349 | * "-AB--AABZ" =~ /\wAB\d*Z/ | |||
| 1350 | * The first time round, anchored and float match at | |||
| 1351 | * "-(AB)--AAB(Z)" then fail on the initial \w character | |||
| 1352 | * class. Second time round, they match at "-AB--A(AB)(Z)". | |||
| 1353 | */ | |||
| 1354 | other_last = s; | |||
| 1355 | } | |||
| 1356 | else { | |||
| 1357 | rx_origin = HOP3c(s, -other->min_offset, strbeg)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(s), -other ->min_offset, (U8*)(strbeg)) : (U8*)(s + -other->min_offset ))); | |||
| 1358 | other_last = HOP3c(s, 1, strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(s), 1, ( U8*)(strend)) : (U8*)(s + 1))); | |||
| 1359 | } | |||
| 1360 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " at offset %ld (rx_origin now %" "ld" ")...\n", (long)(s - strbeg), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1361 | " at offset %ld (rx_origin now %" IVdf ")...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " at offset %ld (rx_origin now %" "ld" ")...\n", (long)(s - strbeg), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1362 | (long)(s - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " at offset %ld (rx_origin now %" "ld" ")...\n", (long)(s - strbeg), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1363 | (IV)(rx_origin - strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " at offset %ld (rx_origin now %" "ld" ")...\n", (long)(s - strbeg), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1364 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " at offset %ld (rx_origin now %" "ld" ")...\n", (long)(s - strbeg), (IV)(rx_origin - strbeg) );} while (0); | |||
| 1365 | ||||
| 1366 | } | |||
| 1367 | } | |||
| 1368 | else { | |||
| 1369 | DEBUG_OPTIMISE_MORE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1370 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1371 | " Check-only match: offset min:%" IVdf " max:%" IVdfdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1372 | " check_at:%" IVdf " rx_origin:%" IVdf " rx_origin-check_at:%" IVdfdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1373 | " strend:%" IVdf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1374 | (IV)prog->check_offset_min,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1375 | (IV)prog->check_offset_max,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1376 | (IV)(check_at-strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1377 | (IV)(rx_origin-strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1378 | (IV)(rx_origin-check_at),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1379 | (IV)(strend-strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1380 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0) | |||
| 1381 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || ((0x0100000|0x000002) == (re_debug_flags & (0x0100000|0x000002)))) Perl_re_printf( " Check-only match: offset min:%" "ld" " max:%" "ld" " check_at:%" "ld" " rx_origin:%" "ld" " rx_origin-check_at:%" "ld" " strend:%" "ld" "\n", (IV)prog->substrs->data[2] .min_offset, (IV)prog->substrs->data[2].max_offset, (IV )(check_at-strbeg), (IV)(rx_origin-strbeg), (IV)(rx_origin-check_at ), (IV)(strend-strbeg) );} while (0); | |||
| 1382 | } | |||
| 1383 | ||||
| 1384 | postprocess_substr_matches: | |||
| 1385 | ||||
| 1386 | /* handle the extra constraint of /^.../m if present */ | |||
| 1387 | ||||
| 1388 | if (ml_anch && rx_origin != strbeg && rx_origin[-1] != '\n') { | |||
| 1389 | char *s; | |||
| 1390 | ||||
| 1391 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " looking for /^/m anchor");} while (0) | |||
| 1392 | " looking for /^/m anchor"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " looking for /^/m anchor");} while (0); | |||
| 1393 | ||||
| 1394 | /* we have failed the constraint of a \n before rx_origin. | |||
| 1395 | * Find the next \n, if any, even if it's beyond the current | |||
| 1396 | * anchored and/or floating substrings. Whether we should be | |||
| 1397 | * scanning ahead for the next \n or the next substr is debatable. | |||
| 1398 | * On the one hand you'd expect rare substrings to appear less | |||
| 1399 | * often than \n's. On the other hand, searching for \n means | |||
| 1400 | * we're effectively flipping between check_substr and "\n" on each | |||
| 1401 | * iteration as the current "rarest" string candidate, which | |||
| 1402 | * means for example that we'll quickly reject the whole string if | |||
| 1403 | * hasn't got a \n, rather than trying every substr position | |||
| 1404 | * first | |||
| 1405 | */ | |||
| 1406 | ||||
| 1407 | s = HOP3c(strend, - prog->minlen, strpos)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , - prog->minlen, (U8*)(strpos)) : (U8*)(strend + - prog-> minlen))); | |||
| 1408 | if (s <= rx_origin || | |||
| 1409 | ! ( rx_origin = (char *)memchr(rx_origin, '\n', s - rx_origin))) | |||
| 1410 | { | |||
| 1411 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Did not find /%s^%s/m...\n", PL_colors[0], PL_colors[1]) ;} while (0) | |||
| 1412 | " Did not find /%s^%s/m...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Did not find /%s^%s/m...\n", PL_colors[0], PL_colors[1]) ;} while (0) | |||
| 1413 | PL_colors[0], PL_colors[1]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Did not find /%s^%s/m...\n", PL_colors[0], PL_colors[1]) ;} while (0); | |||
| 1414 | goto fail_finish; | |||
| 1415 | } | |||
| 1416 | ||||
| 1417 | /* earliest possible origin is 1 char after the \n. | |||
| 1418 | * (since *rx_origin == '\n', it's safe to ++ here rather than | |||
| 1419 | * HOP(rx_origin, 1)) */ | |||
| 1420 | rx_origin++; | |||
| 1421 | ||||
| 1422 | if (prog->substrs->check_ix == 0 /* check is anchored */ | |||
| 1423 | || rx_origin >= HOP3c(check_at, - prog->check_offset_min, strpos)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(check_at ), - prog->substrs->data[2].min_offset, (U8*)(strpos)) : (U8*)(check_at + - prog->substrs->data[2].min_offset)) )) | |||
| 1424 | { | |||
| 1425 | /* Position contradicts check-string; either because | |||
| 1426 | * check was anchored (and thus has no wiggle room), | |||
| 1427 | * or check was float and rx_origin is above the float range */ | |||
| 1428 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, about to restart lookup for check-string with rx_origin %ld...\n" , PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg));} while (0) | |||
| 1429 | " Found /%s^%s/m, about to restart lookup for check-string with rx_origin %ld...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, about to restart lookup for check-string with rx_origin %ld...\n" , PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg));} while (0) | |||
| 1430 | PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg)))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, about to restart lookup for check-string with rx_origin %ld...\n" , PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg));} while (0); | |||
| 1431 | goto restart; | |||
| 1432 | } | |||
| 1433 | ||||
| 1434 | /* if we get here, the check substr must have been float, | |||
| 1435 | * is in range, and we may or may not have had an anchored | |||
| 1436 | * "other" substr which still contradicts */ | |||
| 1437 | assert(prog->substrs->check_ix)((prog->substrs->check_ix) ? (void)0 : __assert2("re_exec.c" , 1437, __func__, "prog->substrs->check_ix")); /* check is float */ | |||
| 1438 | ||||
| 1439 | if (utf8_target ? prog->anchored_utf8substrs->data[0].utf8_substr : prog->anchored_substrsubstrs->data[0].substr) { | |||
| 1440 | /* whoops, the anchored "other" substr exists, so we still | |||
| 1441 | * contradict. On the other hand, the float "check" substr | |||
| 1442 | * didn't contradict, so just retry the anchored "other" | |||
| 1443 | * substr */ | |||
| 1444 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, rescanning for anchored from offset %" "ld" " (rx_origin now %" "ld" ")...\n", PL_colors[0], PL_colors[1 ], (IV)(rx_origin - strbeg + prog->substrs->data[0].min_offset ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1445 | " Found /%s^%s/m, rescanning for anchored from offset %" IVdf " (rx_origin now %" IVdf ")...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, rescanning for anchored from offset %" "ld" " (rx_origin now %" "ld" ")...\n", PL_colors[0], PL_colors[1 ], (IV)(rx_origin - strbeg + prog->substrs->data[0].min_offset ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1446 | PL_colors[0], PL_colors[1],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, rescanning for anchored from offset %" "ld" " (rx_origin now %" "ld" ")...\n", PL_colors[0], PL_colors[1 ], (IV)(rx_origin - strbeg + prog->substrs->data[0].min_offset ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1447 | (IV)(rx_origin - strbeg + prog->anchored_offset),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, rescanning for anchored from offset %" "ld" " (rx_origin now %" "ld" ")...\n", PL_colors[0], PL_colors[1 ], (IV)(rx_origin - strbeg + prog->substrs->data[0].min_offset ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1448 | (IV)(rx_origin - strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, rescanning for anchored from offset %" "ld" " (rx_origin now %" "ld" ")...\n", PL_colors[0], PL_colors[1 ], (IV)(rx_origin - strbeg + prog->substrs->data[0].min_offset ), (IV)(rx_origin - strbeg) );} while (0) | |||
| 1449 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m, rescanning for anchored from offset %" "ld" " (rx_origin now %" "ld" ")...\n", PL_colors[0], PL_colors[1 ], (IV)(rx_origin - strbeg + prog->substrs->data[0].min_offset ), (IV)(rx_origin - strbeg) );} while (0); | |||
| 1450 | goto do_other_substr; | |||
| 1451 | } | |||
| 1452 | ||||
| 1453 | /* success: we don't contradict the found floating substring | |||
| 1454 | * (and there's no anchored substr). */ | |||
| 1455 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m with rx_origin %ld...\n", PL_colors[0], PL_colors [1], (long)(rx_origin - strbeg));} while (0) | |||
| 1456 | " Found /%s^%s/m with rx_origin %ld...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m with rx_origin %ld...\n", PL_colors[0], PL_colors [1], (long)(rx_origin - strbeg));} while (0) | |||
| 1457 | PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg)))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Found /%s^%s/m with rx_origin %ld...\n", PL_colors[0], PL_colors [1], (long)(rx_origin - strbeg));} while (0); | |||
| 1458 | } | |||
| 1459 | else { | |||
| 1460 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " (multiline anchor test skipped)\n");} while (0) | |||
| 1461 | " (multiline anchor test skipped)\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " (multiline anchor test skipped)\n");} while (0); | |||
| 1462 | } | |||
| 1463 | ||||
| 1464 | success_at_start: | |||
| 1465 | ||||
| 1466 | ||||
| 1467 | /* if we have a starting character class, then test that extra constraint. | |||
| 1468 | * (trie stclasses are too expensive to use here, we are better off to | |||
| 1469 | * leave it to regmatch itself) */ | |||
| 1470 | ||||
| 1471 | if (progi->regstclass && PL_regkind[OP(progi->regstclass)((progi->regstclass)->type)]!=TRIE88) { | |||
| 1472 | const U8* const str = (U8*)STRING(progi->regstclass)((((progi->regstclass)->type) == 41 || ((progi->regstclass )->type) == 51) ? (((((progi->regstclass)->type) == 41 || ((progi->regstclass)->type) == 51) ? (void)0 : __assert2 ("re_exec.c", 1472, __func__, "((progi->regstclass)->type) == 41 || ((progi->regstclass)->type) == 51" )), (((struct regnode_lstring *)progi->regstclass)->string )) : (((((progi->regstclass)->type) != 41 && (( progi->regstclass)->type) != 51) ? (void)0 : __assert2( "re_exec.c", 1472, __func__, "((progi->regstclass)->type) != 41 && ((progi->regstclass)->type) != 51" )), ((struct regnode_string *)progi->regstclass)->string )); | |||
| 1473 | ||||
| 1474 | /* XXX this value could be pre-computed */ | |||
| 1475 | const SSize_tssize_t cl_l = (PL_regkind[OP(progi->regstclass)((progi->regstclass)->type)] == EXACT40 | |||
| 1476 | ? (reginfo->is_utf8_pat | |||
| 1477 | ? (SSize_tssize_t)utf8_distance(str + STR_LEN(progi->regstclass), str)Perl_utf8_distance( str + ((((progi->regstclass)->type) == 41 || ((progi->regstclass)->type) == 51) ? (((((progi ->regstclass)->type) == 41 || ((progi->regstclass)-> type) == 51) ? (void)0 : __assert2("re_exec.c", 1477, __func__ , "((progi->regstclass)->type) == 41 || ((progi->regstclass)->type) == 51" )), (((struct regnode_lstring *)progi->regstclass)->str_len )) : (((((progi->regstclass)->type) != 41 && (( progi->regstclass)->type) != 51) ? (void)0 : __assert2( "re_exec.c", 1477, __func__, "((progi->regstclass)->type) != 41 && ((progi->regstclass)->type) != 51" )), ((struct regnode_string *)progi->regstclass)->str_len )),str) | |||
| 1478 | : (SSize_tssize_t)STR_LEN(progi->regstclass)((((progi->regstclass)->type) == 41 || ((progi->regstclass )->type) == 51) ? (((((progi->regstclass)->type) == 41 || ((progi->regstclass)->type) == 51) ? (void)0 : __assert2 ("re_exec.c", 1478, __func__, "((progi->regstclass)->type) == 41 || ((progi->regstclass)->type) == 51" )), (((struct regnode_lstring *)progi->regstclass)->str_len )) : (((((progi->regstclass)->type) != 41 && (( progi->regstclass)->type) != 51) ? (void)0 : __assert2( "re_exec.c", 1478, __func__, "((progi->regstclass)->type) != 41 && ((progi->regstclass)->type) != 51" )), ((struct regnode_string *)progi->regstclass)->str_len ))) | |||
| 1479 | : 1); | |||
| 1480 | char * endpos; | |||
| 1481 | char *s; | |||
| 1482 | /* latest pos that a matching float substr constrains rx start to */ | |||
| 1483 | char *rx_max_float = NULL((void*)0); | |||
| 1484 | ||||
| 1485 | /* if the current rx_origin is anchored, either by satisfying an | |||
| 1486 | * anchored substring constraint, or a /^.../m constraint, then we | |||
| 1487 | * can reject the current origin if the start class isn't found | |||
| 1488 | * at the current position. If we have a float-only match, then | |||
| 1489 | * rx_origin is constrained to a range; so look for the start class | |||
| 1490 | * in that range. if neither, then look for the start class in the | |||
| 1491 | * whole rest of the string */ | |||
| 1492 | ||||
| 1493 | /* XXX DAPM it's not clear what the minlen test is for, and why | |||
| 1494 | * it's not used in the floating case. Nothing in the test suite | |||
| 1495 | * causes minlen == 0 here. See <20140313134639.GS12844@iabyn.com>. | |||
| 1496 | * Here are some old comments, which may or may not be correct: | |||
| 1497 | * | |||
| 1498 | * minlen == 0 is possible if regstclass is \b or \B, | |||
| 1499 | * and the fixed substr is ''$. | |||
| 1500 | * Since minlen is already taken into account, rx_origin+1 is | |||
| 1501 | * before strend; accidentally, minlen >= 1 guaranties no false | |||
| 1502 | * positives at rx_origin + 1 even for \b or \B. But (minlen? 1 : | |||
| 1503 | * 0) below assumes that regstclass does not come from lookahead... | |||
| 1504 | * If regstclass takes bytelength more than 1: If charlength==1, OK. | |||
| 1505 | * This leaves EXACTF-ish only, which are dealt with in | |||
| 1506 | * find_byclass(). | |||
| 1507 | */ | |||
| 1508 | ||||
| 1509 | if (prog->anchored_substrsubstrs->data[0].substr || prog->anchored_utf8substrs->data[0].utf8_substr || ml_anch) | |||
| 1510 | endpos = HOP3clim(rx_origin, (prog->minlen ? cl_l : 0), strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(rx_origin ), (prog->minlen ? cl_l : 0), (U8*)(strend)) : (U8*)((rx_origin + (prog->minlen ? cl_l : 0)) > strend ? strend : (rx_origin + (prog->minlen ? cl_l : 0))))); | |||
| 1511 | else if (prog->float_substrsubstrs->data[1].substr || prog->float_utf8substrs->data[1].utf8_substr) { | |||
| 1512 | rx_max_float = HOP3c(check_at, -start_shift, strbeg)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(check_at ), -start_shift, (U8*)(strbeg)) : (U8*)(check_at + -start_shift ))); | |||
| 1513 | endpos = HOP3clim(rx_max_float, cl_l, strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(rx_max_float ), cl_l, (U8*)(strend)) : (U8*)((rx_max_float + cl_l) > strend ? strend : (rx_max_float + cl_l)))); | |||
| 1514 | } | |||
| 1515 | else | |||
| 1516 | endpos= strend; | |||
| 1517 | ||||
| 1518 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " looking for class: start_shift: %" "ld" " check_at: %" "ld" " rx_origin: %" "ld" " endpos: %" "ld" "\n", (IV)start_shift , (IV)(check_at - strbeg), (IV)(rx_origin - strbeg), (IV)(endpos - strbeg));} while (0) | |||
| 1519 | " looking for class: start_shift: %" IVdf " check_at: %" IVdfdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " looking for class: start_shift: %" "ld" " check_at: %" "ld" " rx_origin: %" "ld" " endpos: %" "ld" "\n", (IV)start_shift , (IV)(check_at - strbeg), (IV)(rx_origin - strbeg), (IV)(endpos - strbeg));} while (0) | |||
| 1520 | " rx_origin: %" IVdf " endpos: %" IVdf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " looking for class: start_shift: %" "ld" " check_at: %" "ld" " rx_origin: %" "ld" " endpos: %" "ld" "\n", (IV)start_shift , (IV)(check_at - strbeg), (IV)(rx_origin - strbeg), (IV)(endpos - strbeg));} while (0) | |||
| 1521 | (IV)start_shift, (IV)(check_at - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " looking for class: start_shift: %" "ld" " check_at: %" "ld" " rx_origin: %" "ld" " endpos: %" "ld" "\n", (IV)start_shift , (IV)(check_at - strbeg), (IV)(rx_origin - strbeg), (IV)(endpos - strbeg));} while (0) | |||
| 1522 | (IV)(rx_origin - strbeg), (IV)(endpos - strbeg)))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " looking for class: start_shift: %" "ld" " check_at: %" "ld" " rx_origin: %" "ld" " endpos: %" "ld" "\n", (IV)start_shift , (IV)(check_at - strbeg), (IV)(rx_origin - strbeg), (IV)(endpos - strbeg));} while (0); | |||
| 1523 | ||||
| 1524 | s = find_byclass(prog, progi->regstclass, rx_origin, endpos,S_find_byclass( prog,progi->regstclass,rx_origin,endpos,reginfo ) | |||
| 1525 | reginfo)S_find_byclass( prog,progi->regstclass,rx_origin,endpos,reginfo ); | |||
| 1526 | if (!s) { | |||
| 1527 | if (endpos == strend) { | |||
| 1528 | DEBUG_EXECUTE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Could not match STCLASS...\n");} while (0) | |||
| 1529 | " Could not match STCLASS...\n") )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Could not match STCLASS...\n");} while (0); | |||
| 1530 | goto fail; | |||
| 1531 | } | |||
| 1532 | DEBUG_EXECUTE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " This position contradicts STCLASS...\n");} while (0) | |||
| 1533 | " This position contradicts STCLASS...\n") )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " This position contradicts STCLASS...\n");} while (0); | |||
| 1534 | if ((prog->intflags & PREGf_ANCH( 0x00000800 | 0x00001000 | 0x00000400 )) && !ml_anch | |||
| 1535 | && !(prog->intflags & PREGf_IMPLICIT0x00000002)) | |||
| 1536 | goto fail; | |||
| 1537 | ||||
| 1538 | /* Contradict one of substrings */ | |||
| 1539 | if (prog->anchored_substrsubstrs->data[0].substr || prog->anchored_utf8substrs->data[0].utf8_substr) { | |||
| 1540 | if (prog->substrs->check_ix == 1) { /* check is float */ | |||
| 1541 | /* Have both, check_string is floating */ | |||
| 1542 | assert(rx_origin + start_shift <= check_at)((rx_origin + start_shift <= check_at) ? (void)0 : __assert2 ("re_exec.c", 1542, __func__, "rx_origin + start_shift <= check_at" )); | |||
| 1543 | if (rx_origin + start_shift != check_at) { | |||
| 1544 | /* not at latest position float substr could match: | |||
| 1545 | * Recheck anchored substring, but not floating. | |||
| 1546 | * The condition above is in bytes rather than | |||
| 1547 | * chars for efficiency. It's conservative, in | |||
| 1548 | * that it errs on the side of doing 'goto | |||
| 1549 | * do_other_substr'. In this case, at worst, | |||
| 1550 | * an extra anchored search may get done, but in | |||
| 1551 | * practice the extra fbm_instr() is likely to | |||
| 1552 | * get skipped anyway. */ | |||
| 1553 | DEBUG_EXECUTE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to retry anchored at offset %ld (rx_origin now %" "ld" ")...\n", (long)(other_last - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1554 | " about to retry anchored at offset %ld (rx_origin now %" IVdf ")...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to retry anchored at offset %ld (rx_origin now %" "ld" ")...\n", (long)(other_last - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1555 | (long)(other_last - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to retry anchored at offset %ld (rx_origin now %" "ld" ")...\n", (long)(other_last - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1556 | (IV)(rx_origin - strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to retry anchored at offset %ld (rx_origin now %" "ld" ")...\n", (long)(other_last - strbeg), (IV)(rx_origin - strbeg ) );} while (0) | |||
| 1557 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to retry anchored at offset %ld (rx_origin now %" "ld" ")...\n", (long)(other_last - strbeg), (IV)(rx_origin - strbeg ) );} while (0); | |||
| 1558 | goto do_other_substr; | |||
| 1559 | } | |||
| 1560 | } | |||
| 1561 | } | |||
| 1562 | else { | |||
| 1563 | /* float-only */ | |||
| 1564 | ||||
| 1565 | if (ml_anch) { | |||
| 1566 | /* In the presence of ml_anch, we might be able to | |||
| 1567 | * find another \n without breaking the current float | |||
| 1568 | * constraint. */ | |||
| 1569 | ||||
| 1570 | /* strictly speaking this should be HOP3c(..., 1, ...), | |||
| 1571 | * but since we goto a block of code that's going to | |||
| 1572 | * search for the next \n if any, its safe here */ | |||
| 1573 | rx_origin++; | |||
| 1574 | DEBUG_EXECUTE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for /%s^%s/m starting at rx_origin %ld...\n" , PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg));} while (0) | |||
| 1575 | " about to look for /%s^%s/m starting at rx_origin %ld...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for /%s^%s/m starting at rx_origin %ld...\n" , PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg));} while (0) | |||
| 1576 | PL_colors[0], PL_colors[1],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for /%s^%s/m starting at rx_origin %ld...\n" , PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg));} while (0) | |||
| 1577 | (long)(rx_origin - strbeg)) )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for /%s^%s/m starting at rx_origin %ld...\n" , PL_colors[0], PL_colors[1], (long)(rx_origin - strbeg));} while (0); | |||
| 1578 | goto postprocess_substr_matches; | |||
| 1579 | } | |||
| 1580 | ||||
| 1581 | /* strictly speaking this can never be true; but might | |||
| 1582 | * be if we ever allow intuit without substrings */ | |||
| 1583 | if (!(utf8_target ? prog->float_utf8substrs->data[1].utf8_substr : prog->float_substrsubstrs->data[1].substr)) | |||
| 1584 | goto fail; | |||
| 1585 | ||||
| 1586 | rx_origin = rx_max_float; | |||
| 1587 | } | |||
| 1588 | ||||
| 1589 | /* at this point, any matching substrings have been | |||
| 1590 | * contradicted. Start again... */ | |||
| 1591 | ||||
| 1592 | rx_origin = HOP3c(rx_origin, 1, strend)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(rx_origin ), 1, (U8*)(strend)) : (U8*)(rx_origin + 1))); | |||
| 1593 | ||||
| 1594 | /* uses bytes rather than char calculations for efficiency. | |||
| 1595 | * It's conservative: it errs on the side of doing 'goto restart', | |||
| 1596 | * where there is code that does a proper char-based test */ | |||
| 1597 | if (rx_origin + start_shift + end_shift > strend) { | |||
| 1598 | DEBUG_EXECUTE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Could not match STCLASS...\n");} while (0) | |||
| 1599 | " Could not match STCLASS...\n") )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Could not match STCLASS...\n");} while (0); | |||
| 1600 | goto fail; | |||
| 1601 | } | |||
| 1602 | DEBUG_EXECUTE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for %s substr starting at offset %ld (rx_origin now %" "ld" ")...\n", (prog->substrs->check_ix ? "floating" : "anchored"), (long)(rx_origin + start_shift - strbeg), (IV)( rx_origin - strbeg) );} while (0) | |||
| 1603 | " about to look for %s substr starting at offset %ld (rx_origin now %" IVdf ")...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for %s substr starting at offset %ld (rx_origin now %" "ld" ")...\n", (prog->substrs->check_ix ? "floating" : "anchored"), (long)(rx_origin + start_shift - strbeg), (IV)( rx_origin - strbeg) );} while (0) | |||
| 1604 | (prog->substrs->check_ix ? "floating" : "anchored"),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for %s substr starting at offset %ld (rx_origin now %" "ld" ")...\n", (prog->substrs->check_ix ? "floating" : "anchored"), (long)(rx_origin + start_shift - strbeg), (IV)( rx_origin - strbeg) );} while (0) | |||
| 1605 | (long)(rx_origin + start_shift - strbeg),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for %s substr starting at offset %ld (rx_origin now %" "ld" ")...\n", (prog->substrs->check_ix ? "floating" : "anchored"), (long)(rx_origin + start_shift - strbeg), (IV)( rx_origin - strbeg) );} while (0) | |||
| 1606 | (IV)(rx_origin - strbeg)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for %s substr starting at offset %ld (rx_origin now %" "ld" ")...\n", (prog->substrs->check_ix ? "floating" : "anchored"), (long)(rx_origin + start_shift - strbeg), (IV)( rx_origin - strbeg) );} while (0) | |||
| 1607 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " about to look for %s substr starting at offset %ld (rx_origin now %" "ld" ")...\n", (prog->substrs->check_ix ? "floating" : "anchored"), (long)(rx_origin + start_shift - strbeg), (IV)( rx_origin - strbeg) );} while (0); | |||
| 1608 | goto restart; | |||
| 1609 | } | |||
| 1610 | ||||
| 1611 | /* Success !!! */ | |||
| 1612 | ||||
| 1613 | if (rx_origin != s) { | |||
| 1614 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " By STCLASS: moving %ld --> %ld\n", (long)(rx_origin - strbeg), (long)(s - strbeg));} while (0) | |||
| 1615 | " By STCLASS: moving %ld --> %ld\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " By STCLASS: moving %ld --> %ld\n", (long)(rx_origin - strbeg), (long)(s - strbeg));} while (0) | |||
| 1616 | (long)(rx_origin - strbeg), (long)(s - strbeg))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " By STCLASS: moving %ld --> %ld\n", (long)(rx_origin - strbeg), (long)(s - strbeg));} while (0) | |||
| 1617 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " By STCLASS: moving %ld --> %ld\n", (long)(rx_origin - strbeg), (long)(s - strbeg));} while (0); | |||
| 1618 | } | |||
| 1619 | else { | |||
| 1620 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Does not contradict STCLASS...\n");;} while (0) | |||
| 1621 | " Does not contradict STCLASS...\n");do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Does not contradict STCLASS...\n");;} while (0) | |||
| 1622 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " Does not contradict STCLASS...\n");;} while (0); | |||
| 1623 | } | |||
| 1624 | } | |||
| 1625 | ||||
| 1626 | /* Decide whether using the substrings helped */ | |||
| 1627 | ||||
| 1628 | if (rx_origin != strpos) { | |||
| 1629 | /* Fixed substring is found far enough so that the match | |||
| 1630 | cannot start at strpos. */ | |||
| 1631 | ||||
| 1632 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_ " try at offset...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " try at offset...\n");} while (0); | |||
| 1633 | ++BmUSEFUL(utf8_target ? prog->check_utf8 : prog->check_substr)(*({ SV *const _bmuseful = ((SV *)({ void *_p = (utf8_target ? prog->substrs->data[2].utf8_substr : prog->substrs-> data[2].substr); _p; })); ((((svtype)((_bmuseful)->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2("re_exec.c" , 1633, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV")); ((( ( (_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful )->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1633, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1633, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1633, __func__, "SvVALID(_bmuseful)")); ((!((_bmuseful)->sv_flags & 0x00000100 )) ? (void)0 : __assert2("re_exec.c", 1633, __func__, "!SvIOK(_bmuseful)" )); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv ); })); /* hooray/5 */ | |||
| 1634 | } | |||
| 1635 | else { | |||
| 1636 | /* The found rx_origin position does not prohibit matching at | |||
| 1637 | * strpos, so calling intuit didn't gain us anything. Decrement | |||
| 1638 | * the BmUSEFUL() count on the check substring, and if we reach | |||
| 1639 | * zero, free it. */ | |||
| 1640 | if (!(prog->intflags & PREGf_NAUGHTY0x00000004) | |||
| 1641 | && (utf8_target ? ( | |||
| 1642 | prog->check_utf8substrs->data[2].utf8_substr /* Could be deleted already */ | |||
| 1643 | && --BmUSEFUL(prog->check_utf8)(*({ SV *const _bmuseful = ((SV *)({ void *_p = (prog->substrs ->data[2].utf8_substr); _p; })); ((((svtype)((_bmuseful)-> sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2("re_exec.c" , 1643, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV")); ((( ( (_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful )->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1643, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1643, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1643, __func__, "SvVALID(_bmuseful)")); ((!((_bmuseful)->sv_flags & 0x00000100 )) ? (void)0 : __assert2("re_exec.c", 1643, __func__, "!SvIOK(_bmuseful)" )); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv ); })) < 0 | |||
| 1644 | && (prog->check_utf8substrs->data[2].utf8_substr == prog->float_utf8substrs->data[1].utf8_substr) | |||
| 1645 | ) : ( | |||
| 1646 | prog->check_substrsubstrs->data[2].substr /* Could be deleted already */ | |||
| 1647 | && --BmUSEFUL(prog->check_substr)(*({ SV *const _bmuseful = ((SV *)({ void *_p = (prog->substrs ->data[2].substr); _p; })); ((((svtype)((_bmuseful)->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2("re_exec.c" , 1647, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV")); ((( ( (_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful )->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1647, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1647, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1647, __func__, "SvVALID(_bmuseful)")); ((!((_bmuseful)->sv_flags & 0x00000100 )) ? (void)0 : __assert2("re_exec.c", 1647, __func__, "!SvIOK(_bmuseful)" )); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv ); })) < 0 | |||
| 1648 | && (prog->check_substrsubstrs->data[2].substr == prog->float_substrsubstrs->data[1].substr) | |||
| 1649 | ))) | |||
| 1650 | { | |||
| 1651 | /* If flags & SOMETHING - do not do it many times on the same match */ | |||
| 1652 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_ " ... Disabling check substring...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( " ... Disabling check substring...\n");} while (0); | |||
| 1653 | /* XXX Does the destruction order has to change with utf8_target? */ | |||
| 1654 | SvREFCNT_dec(utf8_target ? prog->check_utf8 : prog->check_substr)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (utf8_target ? prog-> substrs->data[2].utf8_substr : prog->substrs->data[2 ].substr); _p; }))); | |||
| 1655 | SvREFCNT_dec(utf8_target ? prog->check_substr : prog->check_utf8)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (utf8_target ? prog-> substrs->data[2].substr : prog->substrs->data[2].utf8_substr ); _p; }))); | |||
| 1656 | prog->check_substrsubstrs->data[2].substr = prog->check_utf8substrs->data[2].utf8_substr = NULL((void*)0); /* disable */ | |||
| 1657 | prog->float_substrsubstrs->data[1].substr = prog->float_utf8substrs->data[1].utf8_substr = NULL((void*)0); /* clear */ | |||
| 1658 | check = NULL((void*)0); /* abort */ | |||
| 1659 | /* XXXX This is a remnant of the old implementation. It | |||
| 1660 | looks wasteful, since now INTUIT can use many | |||
| 1661 | other heuristics. */ | |||
| 1662 | prog->extflags &= ~RXf_USE_INTUIT((1U<<(((0 +12) + 2)+7))|(1U<<(((0 +12) + 2)+8))); | |||
| 1663 | } | |||
| 1664 | } | |||
| 1665 | ||||
| 1666 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Intuit: %sSuccessfully guessed:%s match at offset %ld\n", PL_colors [4], PL_colors[5], (long)(rx_origin - strbeg));} while (0) | |||
| 1667 | "Intuit: %sSuccessfully guessed:%s match at offset %ld\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Intuit: %sSuccessfully guessed:%s match at offset %ld\n", PL_colors [4], PL_colors[5], (long)(rx_origin - strbeg));} while (0) | |||
| 1668 | PL_colors[4], PL_colors[5], (long)(rx_origin - strbeg)) )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Intuit: %sSuccessfully guessed:%s match at offset %ld\n", PL_colors [4], PL_colors[5], (long)(rx_origin - strbeg));} while (0); | |||
| 1669 | ||||
| 1670 | return rx_origin; | |||
| 1671 | ||||
| 1672 | fail_finish: /* Substring not found */ | |||
| 1673 | if (prog->check_substrsubstrs->data[2].substr || prog->check_utf8substrs->data[2].utf8_substr) /* could be removed already */ | |||
| 1674 | BmUSEFUL(utf8_target ? prog->check_utf8 : prog->check_substr)(*({ SV *const _bmuseful = ((SV *)({ void *_p = (utf8_target ? prog->substrs->data[2].utf8_substr : prog->substrs-> data[2].substr); _p; })); ((((svtype)((_bmuseful)->sv_flags & 0xff)) >= SVt_PVIV) ? (void)0 : __assert2("re_exec.c" , 1674, __func__, "SvTYPE(_bmuseful) >= SVt_PVIV")); ((( ( (_bmuseful)->sv_flags & 0x00004000) && ((_bmuseful )->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1674, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_bmuseful); ((((svtype)((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 1674, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_bmuseful , 'B')) )) ? (void)0 : __assert2("re_exec.c", 1674, __func__, "SvVALID(_bmuseful)")); ((!((_bmuseful)->sv_flags & 0x00000100 )) ? (void)0 : __assert2("re_exec.c", 1674, __func__, "!SvIOK(_bmuseful)" )); &(((XPVIV*) (_bmuseful)->sv_any)->xiv_u.xivu_iv ); })) += 5; /* hooray */ | |||
| 1675 | fail: | |||
| 1676 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_ "%sMatch rejected by optimizer%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sMatch rejected by optimizer%s\n", PL_colors[4], PL_colors [5]);} while (0) | |||
| 1677 | PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sMatch rejected by optimizer%s\n", PL_colors[4], PL_colors [5]);} while (0); | |||
| 1678 | return NULL((void*)0); | |||
| 1679 | } | |||
| 1680 | ||||
| 1681 | ||||
| 1682 | #define DECL_TRIE_TYPE(scan)const enum { trie_plain, trie_utf8, trie_utf8_fold, trie_latin_utf8_fold , trie_utf8_exactfa_fold, trie_latin_utf8_exactfa_fold, trie_utf8l , trie_flu8, trie_flu8_latin } trie_type = ((scan->flags == 40) ? (utf8_target ? trie_utf8 : trie_plain) : (scan->flags == 42) ? (utf8_target ? trie_utf8l : trie_plain) : (scan-> flags == 46) ? (utf8_target ? trie_utf8_exactfa_fold : trie_latin_utf8_exactfa_fold ) : (scan->flags == 48 ? (utf8_target ? trie_flu8 : trie_flu8_latin ) : (utf8_target ? trie_utf8_fold : trie_latin_utf8_fold))) \ | |||
| 1683 | const enum { trie_plain, trie_utf8, trie_utf8_fold, trie_latin_utf8_fold, \ | |||
| 1684 | trie_utf8_exactfa_fold, trie_latin_utf8_exactfa_fold, \ | |||
| 1685 | trie_utf8l, trie_flu8, trie_flu8_latin } \ | |||
| 1686 | trie_type = ((scan->flags == EXACT40) \ | |||
| 1687 | ? (utf8_target ? trie_utf8 : trie_plain) \ | |||
| 1688 | : (scan->flags == EXACTL42) \ | |||
| 1689 | ? (utf8_target ? trie_utf8l : trie_plain) \ | |||
| 1690 | : (scan->flags == EXACTFAA46) \ | |||
| 1691 | ? (utf8_target \ | |||
| 1692 | ? trie_utf8_exactfa_fold \ | |||
| 1693 | : trie_latin_utf8_exactfa_fold) \ | |||
| 1694 | : (scan->flags == EXACTFLU848 \ | |||
| 1695 | ? (utf8_target \ | |||
| 1696 | ? trie_flu8 \ | |||
| 1697 | : trie_flu8_latin) \ | |||
| 1698 | : (utf8_target \ | |||
| 1699 | ? trie_utf8_fold \ | |||
| 1700 | : trie_latin_utf8_fold))) | |||
| 1701 | ||||
| 1702 | /* 'uscan' is set to foldbuf, and incremented, so below the end of uscan is | |||
| 1703 | * 'foldbuf+sizeof(foldbuf)' */ | |||
| 1704 | #define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uc_end, uscan, len, uvc, charid, foldlen, foldbuf, uniflags)do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 1704, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 1704, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) (uc_end),((void*)0)); Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,uc_end ,foldbuf,&foldlen,flags); len = ((((uc_end) >= (uc)) ? (void)0 : __assert2("re_exec.c", 1704, __func__, "(uc_end) >= (uc)" )), ((uc_end) - (uc)) <= 0 ? 0 : (((((uc_end) - (uc)))< (PL_utf8skip[*(const U8*)(uc)]))?(((uc_end) - (uc))):(PL_utf8skip [*(const U8*)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0) ))) < (((U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) ( uvc) < (32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV ) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin : do { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold: do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8* ) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 1704, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 1704, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) (uc_end),((void*)0)); Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, uc_end - uc, &len, uniflags, 0, 0); break ; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256 ) { charid = trie->charmap[ uvc ]; } else { charid = 0; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1704, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1704, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0) \do | |||
| 1705 | STMT_STARTdo { \ | |||
| 1706 | STRLEN skiplen; \ | |||
| 1707 | U8 flags = FOLD_FLAGS_FULL0x2; \ | |||
| 1708 | switch (trie_type) { \ | |||
| 1709 | case trie_flu8: \ | |||
| 1710 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); \ | |||
| 1711 | if (UTF8_IS_ABOVE_LATIN1(*uc)(((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 1711, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 1711, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { \ | |||
| 1712 | _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (uc)),(const U8 *) (U8 *) (uc_end),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); \ | |||
| 1713 | } \ | |||
| 1714 | goto do_trie_utf8_fold; \ | |||
| 1715 | case trie_utf8_exactfa_fold: \ | |||
| 1716 | flags |= FOLD_FLAGS_NOMIX_ASCII0x4; \ | |||
| 1717 | /* FALLTHROUGH */ \ | |||
| 1718 | case trie_utf8_fold: \ | |||
| 1719 | do_trie_utf8_fold: \ | |||
| 1720 | if ( foldlen>0 ) { \ | |||
| 1721 | uvc = utf8n_to_uvchr( (const U8*) uscan, foldlen, &len, uniflags )Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen, &len , uniflags, 0, 0); \ | |||
| 1722 | foldlen -= len; \ | |||
| 1723 | uscan += len; \ | |||
| 1724 | len=0; \ | |||
| 1725 | } else { \ | |||
| 1726 | uvc = _toFOLD_utf8_flags( (const U8*) uc, uc_end, foldbuf, &foldlen, \Perl__to_utf8_fold_flags( (const U8*) uc,uc_end,foldbuf,& foldlen,flags) | |||
| 1727 | flags)Perl__to_utf8_fold_flags( (const U8*) uc,uc_end,foldbuf,& foldlen,flags); \ | |||
| 1728 | len = UTF8_SAFE_SKIP(uc, uc_end)((((uc_end) >= (uc)) ? (void)0 : __assert2("re_exec.c", 1728 , __func__, "(uc_end) >= (uc)")), ((uc_end) - (uc)) <= 0 ? 0 : (((((uc_end) - (uc)))<(PL_utf8skip[*(const U8*)(uc) ]))?(((uc_end) - (uc))):(PL_utf8skip[*(const U8*)(uc)]))); \ | |||
| 1729 | skiplen = UVCHR_SKIP( uvc )( ((((U64)(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6) ) & 0xB0))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6 ))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : ( UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << ( 6 * 6)) ? 7 : 13)); \ | |||
| 1730 | foldlen -= skiplen; \ | |||
| 1731 | uscan = foldbuf + skiplen; \ | |||
| 1732 | } \ | |||
| 1733 | break; \ | |||
| 1734 | case trie_flu8_latin: \ | |||
| 1735 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); \ | |||
| 1736 | goto do_trie_latin_utf8_fold; \ | |||
| 1737 | case trie_latin_utf8_exactfa_fold: \ | |||
| 1738 | flags |= FOLD_FLAGS_NOMIX_ASCII0x4; \ | |||
| 1739 | /* FALLTHROUGH */ \ | |||
| 1740 | case trie_latin_utf8_fold: \ | |||
| 1741 | do_trie_latin_utf8_fold: \ | |||
| 1742 | if ( foldlen>0 ) { \ | |||
| 1743 | uvc = utf8n_to_uvchr( (const U8*) uscan, foldlen, &len, uniflags )Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen, &len , uniflags, 0, 0); \ | |||
| 1744 | foldlen -= len; \ | |||
| 1745 | uscan += len; \ | |||
| 1746 | len=0; \ | |||
| 1747 | } else { \ | |||
| 1748 | len = 1; \ | |||
| 1749 | uvc = _to_fold_latin1Perl__to_fold_latin1( (U8) *uc, foldbuf, &foldlen, flags); \ | |||
| 1750 | skiplen = UVCHR_SKIP( uvc )( ((((U64)(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6) ) & 0xB0))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6 ))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : ( UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << ( 6 * 6)) ? 7 : 13)); \ | |||
| 1751 | foldlen -= skiplen; \ | |||
| 1752 | uscan = foldbuf + skiplen; \ | |||
| 1753 | } \ | |||
| 1754 | break; \ | |||
| 1755 | case trie_utf8l: \ | |||
| 1756 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); \ | |||
| 1757 | if (utf8_target && UTF8_IS_ABOVE_LATIN1(*uc)(((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 1757, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 1757, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { \ | |||
| 1758 | _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(uc, uc_end)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (uc)),(const U8 *) (U8 *) (uc_end),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); \ | |||
| 1759 | } \ | |||
| 1760 | /* FALLTHROUGH */ \ | |||
| 1761 | case trie_utf8: \ | |||
| 1762 | uvc = utf8n_to_uvchr( (const U8*) uc, uc_end - uc, &len, uniflags )Perl_utf8n_to_uvchr_msgs((const U8*) uc, uc_end - uc, &len , uniflags, 0, 0); \ | |||
| 1763 | break; \ | |||
| 1764 | case trie_plain: \ | |||
| 1765 | uvc = (UV)*uc; \ | |||
| 1766 | len = 1; \ | |||
| 1767 | } \ | |||
| 1768 | if (uvc < 256) { \ | |||
| 1769 | charid = trie->charmap[ uvc ]; \ | |||
| 1770 | } \ | |||
| 1771 | else { \ | |||
| 1772 | charid = 0; \ | |||
| 1773 | if (widecharmap) { \ | |||
| 1774 | SV** const svpp = hv_fetch(widecharmap, \((SV**) Perl_hv_common_key_len( (widecharmap),((char*)&uvc ),(sizeof(UV)),(0) ? (0x20 | 0x10) : 0x20,((void*)0),0)) | |||
| 1775 | (char*)&uvc, sizeof(UV), 0)((SV**) Perl_hv_common_key_len( (widecharmap),((char*)&uvc ),(sizeof(UV)),(0) ? (0x20 | 0x10) : 0x20,((void*)0),0)); \ | |||
| 1776 | if (svpp) \ | |||
| 1777 | charid = (U16)SvIV(*svpp)((((*svpp)->sv_flags & (0x00000100|0x00200000)) == 0x00000100 ) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 1777, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 1777, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); \ | |||
| 1778 | } \ | |||
| 1779 | } \ | |||
| 1780 | } STMT_ENDwhile (0) | |||
| 1781 | ||||
| 1782 | #define DUMP_EXEC_POS(li,s,doutf8,depth)S_dump_exec_pos( li,s,(reginfo->strend),(reginfo->strbeg ),startpos,doutf8,depth) \ | |||
| 1783 | dump_exec_pos(li,s,(reginfo->strend),(reginfo->strbeg), \S_dump_exec_pos( li,s,(reginfo->strend),(reginfo->strbeg ),startpos,doutf8,depth) | |||
| 1784 | startpos, doutf8, depth)S_dump_exec_pos( li,s,(reginfo->strend),(reginfo->strbeg ),startpos,doutf8,depth) | |||
| 1785 | ||||
| 1786 | #define REXEC_FBC_SCAN(UTF8, CODE)do { while (s < strend) { CODE s += ((UTF8) ? ((((reginfo-> strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1786, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) \ | |||
| 1787 | STMT_STARTdo { \ | |||
| 1788 | while (s < strend) { \ | |||
| 1789 | CODE \ | |||
| 1790 | s += ((UTF8) \ | |||
| 1791 | ? UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1791, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) \ | |||
| 1792 | : 1); \ | |||
| 1793 | } \ | |||
| 1794 | } STMT_ENDwhile (0) | |||
| 1795 | ||||
| 1796 | #define REXEC_FBC_CLASS_SCAN(UTF8, COND)do { while (s < strend) { if (COND) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s)))) { goto got_it; } s += ((UTF8) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1796, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((UTF8) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) \ | |||
| 1797 | STMT_STARTdo { \ | |||
| 1798 | while (s < strend) { \ | |||
| 1799 | REXEC_FBC_CLASS_SCAN_GUTS(UTF8, COND)if (COND) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((UTF8) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1799, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((UTF8) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } \ | |||
| 1800 | } \ | |||
| 1801 | } STMT_ENDwhile (0) | |||
| 1802 | ||||
| 1803 | #define REXEC_FBC_CLASS_SCAN_GUTS(UTF8, COND)if (COND) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((UTF8) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1803, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((UTF8) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } \ | |||
| 1804 | if (COND) { \ | |||
| 1805 | FBC_CHECK_AND_TRYif ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } \ | |||
| 1806 | s += ((UTF8) ? UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1806, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1);\ | |||
| 1807 | previous_occurrence_end = s; \ | |||
| 1808 | } \ | |||
| 1809 | else { \ | |||
| 1810 | s += ((UTF8) ? UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)] : 1); \ | |||
| 1811 | } | |||
| 1812 | ||||
| 1813 | #define REXEC_FBC_CSCAN(CONDUTF8,COND)if (utf8_target) { do { while (s < strend) { if (CONDUTF8) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1813, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } else { do { while (s < strend) { if (COND ) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1813, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } \ | |||
| 1814 | if (utf8_target) { \ | |||
| 1815 | REXEC_FBC_CLASS_SCAN(1, CONDUTF8)do { while (s < strend) { if (CONDUTF8) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 1815, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); \ | |||
| 1816 | } \ | |||
| 1817 | else { \ | |||
| 1818 | REXEC_FBC_CLASS_SCAN(0, COND)do { while (s < strend) { if (COND) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s)))) { goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1818, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); \ | |||
| 1819 | } | |||
| 1820 | ||||
| 1821 | /* We keep track of where the next character should start after an occurrence | |||
| 1822 | * of the one we're looking for. Knowing that, we can see right away if the | |||
| 1823 | * next occurrence is adjacent to the previous. When 'doevery' is FALSE, we | |||
| 1824 | * don't accept the 2nd and succeeding adjacent occurrences */ | |||
| 1825 | #define FBC_CHECK_AND_TRYif ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } \ | |||
| 1826 | if ( ( doevery \ | |||
| 1827 | || s != previous_occurrence_end) \ | |||
| 1828 | && ( reginfo->intuit \ | |||
| 1829 | || (s <= reginfo->strend && regtry(reginfo, &s)S_regtry( reginfo,&s)))) \ | |||
| 1830 | { \ | |||
| 1831 | goto got_it; \ | |||
| 1832 | } | |||
| 1833 | ||||
| 1834 | ||||
| 1835 | /* This differs from the above macros in that it calls a function which returns | |||
| 1836 | * the next occurrence of the thing being looked for in 's'; and 'strend' if | |||
| 1837 | * there is no such occurrence. */ | |||
| 1838 | #define REXEC_FBC_FIND_NEXT_SCAN(UTF8, f)while (s < strend) { s = (f); if (s >= strend) { break; } if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (UTF8) ? PL_utf8skip [*(const U8*)(s)] : 1; previous_occurrence_end = s; } \ | |||
| 1839 | while (s < strend) { \ | |||
| 1840 | s = (f); \ | |||
| 1841 | if (s >= strend) { \ | |||
| 1842 | break; \ | |||
| 1843 | } \ | |||
| 1844 | \ | |||
| 1845 | FBC_CHECK_AND_TRYif ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } \ | |||
| 1846 | s += (UTF8) ? UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)] : 1; \ | |||
| 1847 | previous_occurrence_end = s; \ | |||
| 1848 | } | |||
| 1849 | ||||
| 1850 | /* This differs from the above macros in that it is passed a single byte that | |||
| 1851 | * is known to begin the next occurrence of the thing being looked for in 's'. | |||
| 1852 | * It does a memchr to find the next occurrence of 'byte', before trying 'COND' | |||
| 1853 | * at that position. */ | |||
| 1854 | #define REXEC_FBC_FIND_NEXT_UTF8_BYTE_SCAN(byte, COND)while (s < strend) { s = (char *) memchr(s, byte, strend - s); if (s == ((void*)0)) { s = (char *) strend; break; } if ( COND) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((((reginfo ->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1854 , __func__, "(reginfo->strend) >= (s)")), ((reginfo-> strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s))) <(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend) - ( s))):(PL_utf8skip[*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } } \ | |||
| 1855 | while (s < strend) { \ | |||
| 1856 | s = (char *) memchr(s, byte, strend -s); \ | |||
| 1857 | if (s == NULL((void*)0)) { \ | |||
| 1858 | s = (char *) strend; \ | |||
| 1859 | break; \ | |||
| 1860 | } \ | |||
| 1861 | \ | |||
| 1862 | if (COND) { \ | |||
| 1863 | FBC_CHECK_AND_TRYif ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } \ | |||
| 1864 | s += UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1864, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); \ | |||
| 1865 | previous_occurrence_end = s; \ | |||
| 1866 | } \ | |||
| 1867 | else { \ | |||
| 1868 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; \ | |||
| 1869 | } \ | |||
| 1870 | } | |||
| 1871 | ||||
| 1872 | /* The three macros below are slightly different versions of the same logic. | |||
| 1873 | * | |||
| 1874 | * The first is for /a and /aa when the target string is UTF-8. This can only | |||
| 1875 | * match ascii, but it must advance based on UTF-8. The other two handle the | |||
| 1876 | * non-UTF-8 and the more generic UTF-8 cases. In all three, we are looking | |||
| 1877 | * for the boundary (or non-boundary) between a word and non-word character. | |||
| 1878 | * The utf8 and non-utf8 cases have the same logic, but the details must be | |||
| 1879 | * different. Find the "wordness" of the character just prior to this one, and | |||
| 1880 | * compare it with the wordness of this one. If they differ, we have a | |||
| 1881 | * boundary. At the beginning of the string, pretend that the previous | |||
| 1882 | * character was a new-line. | |||
| 1883 | * | |||
| 1884 | * All these macros uncleanly have side-effects with each other and outside | |||
| 1885 | * variables. So far it's been too much trouble to clean-up | |||
| 1886 | * | |||
| 1887 | * TEST_NON_UTF8 is the macro or function to call to test if its byte input is | |||
| 1888 | * a word character or not. | |||
| 1889 | * IF_SUCCESS is code to do if it finds that we are at a boundary between | |||
| 1890 | * word/non-word | |||
| 1891 | * IF_FAIL is code to do if we aren't at a boundary between word/non-word | |||
| 1892 | * | |||
| 1893 | * Exactly one of the two IF_FOO parameters is a no-op, depending on whether we | |||
| 1894 | * are looking for a boundary or for a non-boundary. If we are looking for a | |||
| 1895 | * boundary, we want IF_FAIL to be the no-op, and for IF_SUCCESS to go out and | |||
| 1896 | * see if this tentative match actually works, and if so, to quit the loop | |||
| 1897 | * here. And vice-versa if we are looking for a non-boundary. | |||
| 1898 | * | |||
| 1899 | * 'tmp' below in the next three macros in the REXEC_FBC_SCAN and | |||
| 1900 | * REXEC_FBC_SCAN loops is a loop invariant, a bool giving the return of | |||
| 1901 | * TEST_NON_UTF8(s-1). To see this, note that that's what it is defined to be | |||
| 1902 | * at entry to the loop, and to get to the IF_FAIL branch, tmp must equal | |||
| 1903 | * TEST_NON_UTF8(s), and in the opposite branch, IF_SUCCESS, tmp is that | |||
| 1904 | * complement. But in that branch we complement tmp, meaning that at the | |||
| 1905 | * bottom of the loop tmp is always going to be equal to TEST_NON_UTF8(s), | |||
| 1906 | * which means at the top of the loop in the next iteration, it is | |||
| 1907 | * TEST_NON_UTF8(s-1) */ | |||
| 1908 | #define FBC_UTF8_A(TEST_NON_UTF8, IF_SUCCESS, IF_FAIL)tmp = (s != reginfo->strbeg) ? ((int)*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; IF_SUCCESS ; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1908, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); \ | |||
| 1909 | tmp = (s != reginfo->strbeg) ? UCHARAT(s - 1)((int)*(const U8*)(s - 1)) : '\n'; \ | |||
| 1910 | tmp = TEST_NON_UTF8(tmp); \ | |||
| 1911 | REXEC_FBC_SCAN(1, /* 1=>is-utf8; advances s while s < strend */ \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1912 | if (tmp == ! TEST_NON_UTF8((U8) *s)) { \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1913 | tmp = !tmp; \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1914 | IF_SUCCESS; /* Is a boundary if values for s-1 and s differ */ \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1915 | } \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1916 | else { \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1917 | IF_FAIL; \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1918 | } \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1919 | )do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1919, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ); \ | |||
| 1920 | ||||
| 1921 | /* Like FBC_UTF8_A, but TEST_UV is a macro which takes a UV as its input, and | |||
| 1922 | * TEST_UTF8 is a macro that for the same input code points returns identically | |||
| 1923 | * to TEST_UV, but takes a pointer to a UTF-8 encoded string instead */ | |||
| 1924 | #define FBC_UTF8(TEST_UV, TEST_UTF8, IF_SUCCESS, IF_FAIL)if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo->strbeg); tmp = Perl_utf8n_to_uvchr_msgs (r, (U8*) reginfo->strend - r, 0, 0, 0, 0); } tmp = TEST_UV (tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8(( U8 *) s, (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS ; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1924, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); \ | |||
| 1925 | if (s == reginfo->strbeg) { \ | |||
| 1926 | tmp = '\n'; \ | |||
| 1927 | } \ | |||
| 1928 | else { /* Back-up to the start of the previous character */ \ | |||
| 1929 | U8 * const r = reghop3S_reghop3((U8*)s, -1, (U8*)reginfo->strbeg); \ | |||
| 1930 | tmp = utf8n_to_uvchr(r, (U8*) reginfo->strend - r, \Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo->strend - r, 0, 0 , 0, 0) | |||
| 1931 | 0, UTF8_ALLOW_DEFAULT)Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo->strend - r, 0, 0 , 0, 0); \ | |||
| 1932 | } \ | |||
| 1933 | tmp = TEST_UV(tmp); \ | |||
| 1934 | REXEC_FBC_SCAN(1, /* 1=>is-utf8; advances s while s < strend */ \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1935 | if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo->strend))) { \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1936 | tmp = !tmp; \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1937 | IF_SUCCESS; \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1938 | } \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1939 | else { \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1940 | IF_FAIL; \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1941 | } \do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 1942 | )do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s , (U8 *) reginfo->strend))) { tmp = !tmp; IF_SUCCESS; } else { IF_FAIL; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1942, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); | |||
| 1943 | ||||
| 1944 | /* Like the above two macros. UTF8_CODE is the complete code for handling | |||
| 1945 | * UTF-8. Common to the BOUND and NBOUND cases, set-up by the FBC_BOUND, etc | |||
| 1946 | * macros below */ | |||
| 1947 | #define FBC_BOUND_COMMON(UTF8_CODE, TEST_NON_UTF8, IF_SUCCESS, IF_FAIL)if (utf8_target) { UTF8_CODE } else { tmp = (s != reginfo-> strbeg) ? ((int)*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8 (tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8 ((U8) *s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 1947, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { IF_SUCCESS ; } else { IF_FAIL; } \ | |||
| 1948 | if (utf8_target) { \ | |||
| 1949 | UTF8_CODE \ | |||
| 1950 | } \ | |||
| 1951 | else { /* Not utf8 */ \ | |||
| 1952 | tmp = (s != reginfo->strbeg) ? UCHARAT(s - 1)((int)*(const U8*)(s - 1)) : '\n'; \ | |||
| 1953 | tmp = TEST_NON_UTF8(tmp); \ | |||
| 1954 | REXEC_FBC_SCAN(0, /* 0=>not-utf8; advances s while s < strend */ \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1955 | if (tmp == ! TEST_NON_UTF8((U8) *s)) { \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1956 | IF_SUCCESS; \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1957 | tmp = !tmp; \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1958 | } \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1959 | else { \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1960 | IF_FAIL; \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1961 | } \do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ) | |||
| 1962 | )do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) * s)) { IF_SUCCESS; tmp = !tmp; } else { IF_FAIL; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 1962, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ); \ | |||
| 1963 | } \ | |||
| 1964 | /* Here, things have been set up by the previous code so that tmp is the \ | |||
| 1965 | * return of TEST_NON_UTF(s-1) or TEST_UTF8(s-1) (depending on the \ | |||
| 1966 | * utf8ness of the target). We also have to check if this matches against \ | |||
| 1967 | * the EOS, which we treat as a \n (which is the same value in both UTF-8 \ | |||
| 1968 | * or non-UTF8, so can use the non-utf8 test condition even for a UTF-8 \ | |||
| 1969 | * string */ \ | |||
| 1970 | if (tmp == ! TEST_NON_UTF8('\n')) { \ | |||
| 1971 | IF_SUCCESS; \ | |||
| 1972 | } \ | |||
| 1973 | else { \ | |||
| 1974 | IF_FAIL; \ | |||
| 1975 | } | |||
| 1976 | ||||
| 1977 | /* This is the macro to use when we want to see if something that looks like it | |||
| 1978 | * could match, actually does, and if so exits the loop. It needs to be used | |||
| 1979 | * only for bounds checking macros, as it allows for matching beyond the end of | |||
| 1980 | * string (which should be zero length without having to look at the string | |||
| 1981 | * contents) */ | |||
| 1982 | #define REXEC_FBC_TRYITif (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it \ | |||
| 1983 | if (reginfo->intuit || (s <= reginfo->strend && regtry(reginfo, &s)S_regtry( reginfo,&s))) \ | |||
| 1984 | goto got_it | |||
| 1985 | ||||
| 1986 | /* The only difference between the BOUND and NBOUND cases is that | |||
| 1987 | * REXEC_FBC_TRYIT is called when matched in BOUND, and when non-matched in | |||
| 1988 | * NBOUND. This is accomplished by passing it as either the if or else clause, | |||
| 1989 | * with the other one being empty (PLACEHOLDER is defined as empty). | |||
| 1990 | * | |||
| 1991 | * The TEST_FOO parameters are for operating on different forms of input, but | |||
| 1992 | * all should be ones that return identically for the same underlying code | |||
| 1993 | * points */ | |||
| 1994 | #define FBC_BOUND(TEST_NON_UTF8, TEST_UV, TEST_UTF8)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1994, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 1994, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } \ | |||
| 1995 | FBC_BOUND_COMMON( \if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1996, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 1997, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } | |||
| 1996 | FBC_UTF8(TEST_UV, TEST_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER), \if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1996, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 1997, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } | |||
| 1997 | TEST_NON_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1996, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 1997, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } | |||
| 1998 | ||||
| 1999 | #define FBC_BOUND_A(TEST_NON_UTF8)if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 1999, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 1999, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } \ | |||
| 2000 | FBC_BOUND_COMMON( \if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2001, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2002, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } | |||
| 2001 | FBC_UTF8_A(TEST_NON_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER), \if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2001, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2002, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } | |||
| 2002 | TEST_NON_UTF8, REXEC_FBC_TRYIT, PLACEHOLDER)if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2001, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2002, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } | |||
| 2003 | ||||
| 2004 | #define FBC_NBOUND(TEST_NON_UTF8, TEST_UV, TEST_UTF8)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; ; } else { if (reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s))) goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2004, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2004, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } \ | |||
| 2005 | FBC_BOUND_COMMON( \if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; ; } else { if (reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s))) goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2006, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2007, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } | |||
| 2006 | FBC_UTF8(TEST_UV, TEST_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT), \if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; ; } else { if (reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s))) goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2006, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2007, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } | |||
| 2007 | TEST_NON_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = TEST_UV(tmp); do { while (s < strend) { if (tmp == ! (TEST_UTF8((U8 *) s, (U8 *) reginfo-> strend))) { tmp = !tmp; ; } else { if (reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s))) goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2006, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2007, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } | |||
| 2008 | ||||
| 2009 | #define FBC_NBOUND_A(TEST_NON_UTF8)if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2009, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2009, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } \ | |||
| 2010 | FBC_BOUND_COMMON( \if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2011, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2012, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } | |||
| 2011 | FBC_UTF8_A(TEST_NON_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT), \if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2011, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2012, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } | |||
| 2012 | TEST_NON_UTF8, PLACEHOLDER, REXEC_FBC_TRYIT)if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2011, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = TEST_NON_UTF8(tmp); do { while (s < strend) { if (tmp == ! TEST_NON_UTF8((U8) *s)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo-> strend && S_regtry( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2012, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! TEST_NON_UTF8('\n')) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } | |||
| 2013 | ||||
| 2014 | #ifdef DEBUGGING | |||
| 2015 | static IV | |||
| 2016 | S_get_break_val_cp_checked(SV* const invlist, const UV cp_in) { | |||
| 2017 | IV cp_out = _invlist_searchPerl__invlist_search(invlist, cp_in); | |||
| 2018 | assert(cp_out >= 0)((cp_out >= 0) ? (void)0 : __assert2("re_exec.c", 2018, __func__ , "cp_out >= 0")); | |||
| 2019 | return cp_out; | |||
| 2020 | } | |||
| 2021 | # define _generic_GET_BREAK_VAL_CP_CHECKED(invlist, invmap, cp)invmap[S_get_break_val_cp_checked(invlist, cp)] \ | |||
| 2022 | invmap[S_get_break_val_cp_checked(invlist, cp)] | |||
| 2023 | #else | |||
| 2024 | # define _generic_GET_BREAK_VAL_CP_CHECKED(invlist, invmap, cp)invmap[S_get_break_val_cp_checked(invlist, cp)] \ | |||
| 2025 | invmap[_invlist_searchPerl__invlist_search(invlist, cp)] | |||
| 2026 | #endif | |||
| 2027 | ||||
| 2028 | /* Takes a pointer to an inversion list, a pointer to its corresponding | |||
| 2029 | * inversion map, and a code point, and returns the code point's value | |||
| 2030 | * according to the two arrays. It assumes that all code points have a value. | |||
| 2031 | * This is used as the base macro for macros for particular properties */ | |||
| 2032 | #define _generic_GET_BREAK_VAL_CP(invlist, invmap, cp)invmap[S_get_break_val_cp_checked(invlist, cp)] \ | |||
| 2033 | _generic_GET_BREAK_VAL_CP_CHECKED(invlist, invmap, cp)invmap[S_get_break_val_cp_checked(invlist, cp)] | |||
| 2034 | ||||
| 2035 | /* Same as above, but takes begin, end ptrs to a UTF-8 encoded string instead | |||
| 2036 | * of a code point, returning the value for the first code point in the string. | |||
| 2037 | * And it takes the particular macro name that finds the desired value given a | |||
| 2038 | * code point. Merely convert the UTF-8 to code point and call the cp macro */ | |||
| 2039 | #define _generic_GET_BREAK_VAL_UTF8(cp_macro, pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2039, __func__ , "pos < strend")), (cp_macro(Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((pos)),(const U8 *) (strend),((void*)0))))) \ | |||
| 2040 | (__ASSERT_(pos < strend)((pos < strend) ? (void)0 : __assert2("re_exec.c", 2040, __func__ , "pos < strend")), \ | |||
| 2041 | /* Note assumes is valid UTF-8 */ \ | |||
| 2042 | (cp_macro(utf8_to_uvchr_buf((pos), (strend), NULL)Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((pos)),(const U8 *) (strend),((void*)0))))) | |||
| 2043 | ||||
| 2044 | /* Returns the GCB value for the input code point */ | |||
| 2045 | #define getGCB_VAL_CP(cp)_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist, ( cp))] \ | |||
| 2046 | _generic_GET_BREAK_VAL_CP( \_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist, ( cp))] | |||
| 2047 | PL_GCB_invlist, \_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist, ( cp))] | |||
| 2048 | _Perl_GCB_invmap, \_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist, ( cp))] | |||
| 2049 | (cp))_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist, ( cp))] | |||
| 2050 | ||||
| 2051 | /* Returns the GCB value for the first code point in the UTF-8 encoded string | |||
| 2052 | * bounded by pos and strend */ | |||
| 2053 | #define getGCB_VAL_UTF8(pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2053, __func__ , "pos < strend")), (_Perl_GCB_invmap[S_get_break_val_cp_checked (PL_GCB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((pos)),(const U8 *) (strend),((void*)0))))])) \ | |||
| 2054 | _generic_GET_BREAK_VAL_UTF8(getGCB_VAL_CP, pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2054, __func__ , "pos < strend")), (_Perl_GCB_invmap[S_get_break_val_cp_checked (PL_GCB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((pos)),(const U8 *) (strend),((void*)0))))])) | |||
| 2055 | ||||
| 2056 | /* Returns the LB value for the input code point */ | |||
| 2057 | #define getLB_VAL_CP(cp)_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, (cp ))] \ | |||
| 2058 | _generic_GET_BREAK_VAL_CP( \_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, (cp ))] | |||
| 2059 | PL_LB_invlist, \_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, (cp ))] | |||
| 2060 | _Perl_LB_invmap, \_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, (cp ))] | |||
| 2061 | (cp))_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, (cp ))] | |||
| 2062 | ||||
| 2063 | /* Returns the LB value for the first code point in the UTF-8 encoded string | |||
| 2064 | * bounded by pos and strend */ | |||
| 2065 | #define getLB_VAL_UTF8(pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2065, __func__ , "pos < strend")), (_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (pos)),(const U8 *) (strend),((void*)0))))])) \ | |||
| 2066 | _generic_GET_BREAK_VAL_UTF8(getLB_VAL_CP, pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2066, __func__ , "pos < strend")), (_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (pos)),(const U8 *) (strend),((void*)0))))])) | |||
| 2067 | ||||
| 2068 | ||||
| 2069 | /* Returns the SB value for the input code point */ | |||
| 2070 | #define getSB_VAL_CP(cp)_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, (cp ))] \ | |||
| 2071 | _generic_GET_BREAK_VAL_CP( \_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, (cp ))] | |||
| 2072 | PL_SB_invlist, \_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, (cp ))] | |||
| 2073 | _Perl_SB_invmap, \_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, (cp ))] | |||
| 2074 | (cp))_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, (cp ))] | |||
| 2075 | ||||
| 2076 | /* Returns the SB value for the first code point in the UTF-8 encoded string | |||
| 2077 | * bounded by pos and strend */ | |||
| 2078 | #define getSB_VAL_UTF8(pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2078, __func__ , "pos < strend")), (_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (pos)),(const U8 *) (strend),((void*)0))))])) \ | |||
| 2079 | _generic_GET_BREAK_VAL_UTF8(getSB_VAL_CP, pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2079, __func__ , "pos < strend")), (_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (pos)),(const U8 *) (strend),((void*)0))))])) | |||
| 2080 | ||||
| 2081 | /* Returns the WB value for the input code point */ | |||
| 2082 | #define getWB_VAL_CP(cp)_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, (cp ))] \ | |||
| 2083 | _generic_GET_BREAK_VAL_CP( \_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, (cp ))] | |||
| 2084 | PL_WB_invlist, \_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, (cp ))] | |||
| 2085 | _Perl_WB_invmap, \_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, (cp ))] | |||
| 2086 | (cp))_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, (cp ))] | |||
| 2087 | ||||
| 2088 | /* Returns the WB value for the first code point in the UTF-8 encoded string | |||
| 2089 | * bounded by pos and strend */ | |||
| 2090 | #define getWB_VAL_UTF8(pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2090, __func__ , "pos < strend")), (_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (pos)),(const U8 *) (strend),((void*)0))))])) \ | |||
| 2091 | _generic_GET_BREAK_VAL_UTF8(getWB_VAL_CP, pos, strend)(((pos < strend) ? (void)0 : __assert2("re_exec.c", 2091, __func__ , "pos < strend")), (_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (pos)),(const U8 *) (strend),((void*)0))))])) | |||
| 2092 | ||||
| 2093 | /* We know what class REx starts with. Try to find this position... */ | |||
| 2094 | /* if reginfo->intuit, its a dryrun */ | |||
| 2095 | /* annoyingly all the vars in this routine have different names from their counterparts | |||
| 2096 | in regmatch. /grrr */ | |||
| 2097 | STATICstatic char * | |||
| 2098 | S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, | |||
| 2099 | const char *strend, regmatch_info *reginfo) | |||
| 2100 | { | |||
| 2101 | dVARstruct Perl___notused_struct; | |||
| 2102 | ||||
| 2103 | /* TRUE if x+ need not match at just the 1st pos of run of x's */ | |||
| 2104 | const I32 doevery = (prog->intflags & PREGf_SKIP0x00000001) == 0; | |||
| 2105 | ||||
| 2106 | char *pat_string; /* The pattern's exactish string */ | |||
| 2107 | char *pat_end; /* ptr to end char of pat_string */ | |||
| 2108 | re_fold_t folder; /* Function for computing non-utf8 folds */ | |||
| 2109 | const U8 *fold_array; /* array for folding ords < 256 */ | |||
| 2110 | STRLEN ln; | |||
| 2111 | STRLEN lnc; | |||
| 2112 | U8 c1; | |||
| 2113 | U8 c2; | |||
| 2114 | char *e = NULL((void*)0); | |||
| 2115 | ||||
| 2116 | /* In some cases we accept only the first occurence of 'x' in a sequence of | |||
| 2117 | * them. This variable points to just beyond the end of the previous | |||
| 2118 | * occurrence of 'x', hence we can tell if we are in a sequence. (Having | |||
| 2119 | * it point to beyond the 'x' allows us to work for UTF-8 without having to | |||
| 2120 | * hop back.) */ | |||
| 2121 | char * previous_occurrence_end = 0; | |||
| 2122 | ||||
| 2123 | I32 tmp; /* Scratch variable */ | |||
| 2124 | const bool_Bool utf8_target = reginfo->is_utf8_target; | |||
| 2125 | UV utf8_fold_flags = 0; | |||
| 2126 | const bool_Bool is_utf8_pat = reginfo->is_utf8_pat; | |||
| 2127 | bool_Bool to_complement = FALSE(0); /* Invert the result? Taking the xor of this | |||
| 2128 | with a result inverts that result, as 0^1 = | |||
| 2129 | 1 and 1^1 = 0 */ | |||
| 2130 | _char_class_number classnum; | |||
| 2131 | ||||
| 2132 | RXi_GET_DECL(prog,progi)regexp_internal *progi = ((regexp_internal *)((prog)->pprivate )); | |||
| 2133 | ||||
| 2134 | PERL_ARGS_ASSERT_FIND_BYCLASS((prog) ? (void)0 : __assert2("re_exec.c", 2134, __func__, "prog" )); ((c) ? (void)0 : __assert2("re_exec.c", 2134, __func__, "c" )); ((s) ? (void)0 : __assert2("re_exec.c", 2134, __func__, "s" )); ((strend) ? (void)0 : __assert2("re_exec.c", 2134, __func__ , "strend")); | |||
| 2135 | ||||
| 2136 | /* We know what class it must start with. */ | |||
| 2137 | switch (OP(c)((c)->type)) { | |||
| 2138 | case ANYOFPOSIXL21: | |||
| 2139 | case ANYOFL20: | |||
| 2140 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 2141 | ||||
| 2142 | if (ANYOFL_UTF8_LOCALE_REQD(FLAGS(c))((((c)->flags) & ( 0x04 |0x08)) == 0x08) && ! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) { | |||
| 2143 | Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE)(63 ), utf8_locale_required); | |||
| 2144 | } | |||
| 2145 | ||||
| 2146 | /* FALLTHROUGH */ | |||
| 2147 | case ANYOFD19: | |||
| 2148 | case ANYOF18: | |||
| 2149 | if (utf8_target) { | |||
| 2150 | REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */do { while (s < strend) { if (S_reginclass( prog,c,(U8*)s, (U8*) strend,utf8_target)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2151, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2151 | reginclass(prog, c, (U8*)s, (U8*) strend, utf8_target))do { while (s < strend) { if (S_reginclass( prog,c,(U8*)s, (U8*) strend,utf8_target)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2151, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2152 | } | |||
| 2153 | else if (ANYOF_FLAGS(c)((c)->flags) & ~ ANYOF_MATCHES_ALL_ABOVE_BITMAP0x20) { | |||
| 2154 | /* We know that s is in the bitmap range since the target isn't | |||
| 2155 | * UTF-8, so what happens for out-of-range values is not relevant, | |||
| 2156 | * so exclude that from the flags */ | |||
| 2157 | REXEC_FBC_CLASS_SCAN(0, reginclass(prog,c, (U8*)s, (U8*)s+1, 0))do { while (s < strend) { if (S_reginclass( prog,c,(U8*)s, (U8*)s+1,0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2157, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2158 | } | |||
| 2159 | else { | |||
| 2160 | REXEC_FBC_CLASS_SCAN(0, ANYOF_BITMAP_TEST(c, *((U8*)s)))do { while (s < strend) { if ((((( (U8*) ((regnode_charclass *)(c))->bitmap) [ ( ( (UV) (*((U8*)s))) >> 3) ] ) & (1U << ((*((U8*)s)) & 7))) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2160, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2161 | } | |||
| 2162 | break; | |||
| 2163 | ||||
| 2164 | case ANYOFM28: /* ARG() is the base byte; FLAGS() the mask byte */ | |||
| 2165 | /* UTF-8ness doesn't matter because only matches UTF-8 invariants, so | |||
| 2166 | * use 0 */ | |||
| 2167 | REXEC_FBC_FIND_NEXT_SCAN(0,while (s < strend) { s = ((char *) S_find_next_masked((U8 * ) s, (U8 *) strend, (U8) ((((struct regnode_1 *)c)->arg1)) , ((c)->flags))); if (s >= strend) { break; } if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (0) ? PL_utf8skip[*(const U8 *)(s)] : 1; previous_occurrence_end = s; } | |||
| 2168 | (char *) find_next_masked((U8 *) s, (U8 *) strend,while (s < strend) { s = ((char *) S_find_next_masked((U8 * ) s, (U8 *) strend, (U8) ((((struct regnode_1 *)c)->arg1)) , ((c)->flags))); if (s >= strend) { break; } if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (0) ? PL_utf8skip[*(const U8 *)(s)] : 1; previous_occurrence_end = s; } | |||
| 2169 | (U8) ARG(c), FLAGS(c)))while (s < strend) { s = ((char *) S_find_next_masked((U8 * ) s, (U8 *) strend, (U8) ((((struct regnode_1 *)c)->arg1)) , ((c)->flags))); if (s >= strend) { break; } if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (0) ? PL_utf8skip[*(const U8 *)(s)] : 1; previous_occurrence_end = s; }; | |||
| 2170 | break; | |||
| 2171 | ||||
| 2172 | case NANYOFM29: /* UTF-8ness does matter because can match UTF-8 variants. | |||
| 2173 | */ | |||
| 2174 | REXEC_FBC_FIND_NEXT_SCAN(utf8_target,while (s < strend) { s = ((char *) S_find_span_end_mask((U8 *) s, (U8 *) strend, (U8) ((((struct regnode_1 *)c)->arg1 )), ((c)->flags))); if (s >= strend) { break; } if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (utf8_target) ? PL_utf8skip[ *(const U8*)(s)] : 1; previous_occurrence_end = s; } | |||
| 2175 | (char *) find_span_end_mask((U8 *) s, (U8 *) strend,while (s < strend) { s = ((char *) S_find_span_end_mask((U8 *) s, (U8 *) strend, (U8) ((((struct regnode_1 *)c)->arg1 )), ((c)->flags))); if (s >= strend) { break; } if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (utf8_target) ? PL_utf8skip[ *(const U8*)(s)] : 1; previous_occurrence_end = s; } | |||
| 2176 | (U8) ARG(c), FLAGS(c)))while (s < strend) { s = ((char *) S_find_span_end_mask((U8 *) s, (U8 *) strend, (U8) ((((struct regnode_1 *)c)->arg1 )), ((c)->flags))); if (s >= strend) { break; } if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (utf8_target) ? PL_utf8skip[ *(const U8*)(s)] : 1; previous_occurrence_end = s; }; | |||
| 2177 | break; | |||
| 2178 | ||||
| 2179 | case ANYOFH22: | |||
| 2180 | if (utf8_target) { /* Can't possibly match a non-UTF-8 target */ | |||
| 2181 | REXEC_FBC_CLASS_SCAN(TRUE,do { while (s < strend) { if (( (U8) (((( (sizeof(*s) == 1 ) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2182, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2183, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2182 | ( (U8) NATIVE_UTF8_TO_I8(*s) >= ANYOF_FLAGS(c)do { while (s < strend) { if (( (U8) (((( (sizeof(*s) == 1 ) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2182, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2183, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2183 | && reginclass(prog, c, (U8*)s, (U8*) strend, utf8_target)))do { while (s < strend) { if (( (U8) (((( (sizeof(*s) == 1 ) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2182, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2183, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2184 | } | |||
| 2185 | break; | |||
| 2186 | ||||
| 2187 | case ANYOFHb23: | |||
| 2188 | if (utf8_target) { /* Can't possibly match a non-UTF-8 target */ | |||
| 2189 | ||||
| 2190 | /* We know what the first byte of any matched string should be */ | |||
| 2191 | U8 first_byte = FLAGS(c)((c)->flags); | |||
| 2192 | ||||
| 2193 | REXEC_FBC_FIND_NEXT_UTF8_BYTE_SCAN(first_byte,while (s < strend) { s = (char *) memchr(s, first_byte, strend -s); if (s == ((void*)0)) { s = (char *) strend; break; } if (S_reginclass( prog,c,(U8*)s,(U8*) strend,utf8_target)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2194, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } } | |||
| 2194 | reginclass(prog, c, (U8*)s, (U8*) strend, utf8_target))while (s < strend) { s = (char *) memchr(s, first_byte, strend -s); if (s == ((void*)0)) { s = (char *) strend; break; } if (S_reginclass( prog,c,(U8*)s,(U8*) strend,utf8_target)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2194, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } }; | |||
| 2195 | } | |||
| 2196 | break; | |||
| 2197 | ||||
| 2198 | case ANYOFHr24: | |||
| 2199 | if (utf8_target) { /* Can't possibly match a non-UTF-8 target */ | |||
| 2200 | REXEC_FBC_CLASS_SCAN(TRUE,do { while (s < strend) { if (( ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) >= ((((((c)-> flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c" , 2203, __func__, "(((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) >= ((((((c)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U8)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U32)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2203, __func__, "sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2201, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U64)" )), ((((NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0)))))))) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2204, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2201 | ( inRANGE(NATIVE_UTF8_TO_I8(*s),do { while (s < strend) { if (( ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) >= ((((((c)-> flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c" , 2203, __func__, "(((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) >= ((((((c)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U8)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U32)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2203, __func__, "sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2201, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U64)" )), ((((NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0)))))))) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2204, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2202 | LOWEST_ANYOF_HRx_BYTE(ANYOF_FLAGS(c)),do { while (s < strend) { if (( ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) >= ((((((c)-> flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c" , 2203, __func__, "(((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) >= ((((((c)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U8)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U32)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2203, __func__, "sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2201, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U64)" )), ((((NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0)))))))) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2204, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2203 | HIGHEST_ANYOF_HRx_BYTE(ANYOF_FLAGS(c)))do { while (s < strend) { if (( ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) >= ((((((c)-> flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c" , 2203, __func__, "(((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) >= ((((((c)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U8)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U32)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2203, __func__, "sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2201, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U64)" )), ((((NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0)))))))) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2204, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2204 | && reginclass(prog, c, (U8*)s, (U8*) strend, utf8_target)))do { while (s < strend) { if (( ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) >= ((((((c)-> flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c" , 2203, __func__, "(((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) >= ((((((c)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U8)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U32)) ? ((((NV) (((((((c)-> flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2( "re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2201, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2203, __func__, "sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2201, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U64)" )), ((((NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__, "(NV) (((((((c)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)-> flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 2203, __func__ , "(NV) (((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0)) >> ((((c)->flags)) & 3)))) - ((((((c)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2201 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))))))) - ((((((((c)->flags)) >> 2 ) + 0xC0))) | 0))) <= (((U64) ((((((((((c)->flags)) >> 2) + 0xC0) + ((0xEF - (((((c)->flags)) >> 2) + 0xC0 )) >> ((((c)->flags)) & 3)))) - ((((((c)->flags )) >> 2) + 0xC0)))) | 0)))))))) && S_reginclass ( prog,c,(U8*)s,(U8*) strend,utf8_target))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2204, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2205 | } | |||
| 2206 | break; | |||
| 2207 | ||||
| 2208 | case ANYOFHs25: | |||
| 2209 | if (utf8_target) { /* Can't possibly match a non-UTF-8 target */ | |||
| 2210 | REXEC_FBC_CLASS_SCAN(TRUE,do { while (s < strend) { if (( strend -s >= ((c)->flags ) && (memcmp(((const void *) (s)), ((const void *) (( (struct regnode_anyofhs *) c)->string)), ((c)->flags)) == 0) && S_reginclass( prog,c,(U8*)s,(U8*) strend,utf8_target ))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ( (((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2213, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2211 | ( strend -s >= FLAGS(c)do { while (s < strend) { if (( strend -s >= ((c)->flags ) && (memcmp(((const void *) (s)), ((const void *) (( (struct regnode_anyofhs *) c)->string)), ((c)->flags)) == 0) && S_reginclass( prog,c,(U8*)s,(U8*) strend,utf8_target ))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ( (((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2213, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2212 | && memEQ(s, ((struct regnode_anyofhs *) c)->string, FLAGS(c))do { while (s < strend) { if (( strend -s >= ((c)->flags ) && (memcmp(((const void *) (s)), ((const void *) (( (struct regnode_anyofhs *) c)->string)), ((c)->flags)) == 0) && S_reginclass( prog,c,(U8*)s,(U8*) strend,utf8_target ))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ( (((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2213, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2213 | && reginclass(prog, c, (U8*)s, (U8*) strend, utf8_target)))do { while (s < strend) { if (( strend -s >= ((c)->flags ) && (memcmp(((const void *) (s)), ((const void *) (( (struct regnode_anyofhs *) c)->string)), ((c)->flags)) == 0) && S_reginclass( prog,c,(U8*)s,(U8*) strend,utf8_target ))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ( (((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2213, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0); | |||
| 2214 | } | |||
| 2215 | break; | |||
| 2216 | ||||
| 2217 | case ANYOFR26: | |||
| 2218 | if (utf8_target) { | |||
| 2219 | REXEC_FBC_CLASS_SCAN(TRUE,do { while (s < strend) { if (( (((( (sizeof(*s) == 1) || ! (((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2220, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && ((((NV ) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20 ) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0))))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2224, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2220 | ( NATIVE_UTF8_TO_I8(*s) >= ANYOF_FLAGS(c)do { while (s < strend) { if (( (((( (sizeof(*s) == 1) || ! (((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2220, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && ((((NV ) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20 ) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0))))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2224, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2221 | && withinCOUNT(utf8_to_uvchr_buf((U8 *) s,do { while (s < strend) { if (( (((( (sizeof(*s) == 1) || ! (((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2220, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && ((((NV ) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20 ) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0))))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2224, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2222 | (U8 *) strend,do { while (s < strend) { if (( (((( (sizeof(*s) == 1) || ! (((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2220, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && ((((NV ) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20 ) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0))))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2224, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2223 | NULL),do { while (s < strend) { if (( (((( (sizeof(*s) == 1) || ! (((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2220, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && ((((NV ) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20 ) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0))))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2224, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0) | |||
| 2224 | ANYOFRbase(c), ANYOFRdelta(c))))do { while (s < strend) { if (( (((( (sizeof(*s) == 1) || ! (((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2220, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= ((c)->flags) && ((((NV ) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20 ) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2224, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0))))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += (((1)) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2224, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += (((1)) ? PL_utf8skip[*(const U8*)(s)] : 1 ); } } } while (0); | |||
| 2225 | } | |||
| 2226 | else { | |||
| 2227 | REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,do { while (s < strend) { if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void )0 : __assert2("re_exec.c", 2228, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2228, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *s)) - (((((((struct regnode_1 *)c)->arg1 )) & ((1 << 20) - 1))) | 0))) <= (((U64) ((((((( struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((0) ? ((((reginfo ->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2228 , __func__, "(reginfo->strend) >= (s)")), ((reginfo-> strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s))) <(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend) - ( s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2228 | ANYOFRbase(c), ANYOFRdelta(c)))do { while (s < strend) { if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void )0 : __assert2("re_exec.c", 2228, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2228, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *s)) - (((((((struct regnode_1 *)c)->arg1 )) & ((1 << 20) - 1))) | 0))) <= (((U64) ((((((( struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((0) ? ((((reginfo ->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2228 , __func__, "(reginfo->strend) >= (s)")), ((reginfo-> strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s))) <(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend) - ( s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2229 | } | |||
| 2230 | break; | |||
| 2231 | ||||
| 2232 | case ANYOFRb27: | |||
| 2233 | if (utf8_target) { | |||
| 2234 | ||||
| 2235 | /* We know what the first byte of any matched string should be */ | |||
| 2236 | U8 first_byte = FLAGS(c)((c)->flags); | |||
| 2237 | ||||
| 2238 | REXEC_FBC_FIND_NEXT_UTF8_BYTE_SCAN(first_byte,while (s < strend) { s = (char *) memchr(s, first_byte, strend -s); if (s == ((void*)0)) { s = (char *) strend; break; } if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2242, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } } | |||
| 2239 | withinCOUNT(utf8_to_uvchr_buf((U8 *) s,while (s < strend) { s = (char *) memchr(s, first_byte, strend -s); if (s == ((void*)0)) { s = (char *) strend; break; } if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2242, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } } | |||
| 2240 | (U8 *) strend,while (s < strend) { s = (char *) memchr(s, first_byte, strend -s); if (s == ((void*)0)) { s = (char *) strend; break; } if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2242, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } } | |||
| 2241 | NULL),while (s < strend) { s = (char *) memchr(s, first_byte, strend -s); if (s == ((void*)0)) { s = (char *) strend; break; } if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2242, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } } | |||
| 2242 | ANYOFRbase(c), ANYOFRdelta(c)))while (s < strend) { s = (char *) memchr(s, first_byte, strend -s); if (s == ((void*)0)) { s = (char *) strend; break; } if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2242, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) - (((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) | 0) )) <= (((U64) (((((((struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2242, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); previous_occurrence_end = s; } else { s += PL_utf8skip[*(const U8*)(s)]; } }; | |||
| 2243 | } | |||
| 2244 | else { | |||
| 2245 | REXEC_FBC_CLASS_SCAN(0, withinCOUNT((U8) *s,do { while (s < strend) { if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void )0 : __assert2("re_exec.c", 2246, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2246, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *s)) - (((((((struct regnode_1 *)c)->arg1 )) & ((1 << 20) - 1))) | 0))) <= (((U64) ((((((( struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((0) ? ((((reginfo ->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2246 , __func__, "(reginfo->strend) >= (s)")), ((reginfo-> strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s))) <(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend) - ( s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2246 | ANYOFRbase(c), ANYOFRdelta(c)))do { while (s < strend) { if (((((NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void )0 : __assert2("re_exec.c", 2246, __func__, "(NV) ((((((struct regnode_1 *)c)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)c)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2246, __func__ , "(NV) ((((((struct regnode_1 *)c)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *s)) - (((((((struct regnode_1 *)c)->arg1 )) & ((1 << 20) - 1))) | 0))) <= (((U64) ((((((( struct regnode_1 *)c)->arg1)) >> 20)) | 0)))))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((0) ? ((((reginfo ->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2246 , __func__, "(reginfo->strend) >= (s)")), ((reginfo-> strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s))) <(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend) - ( s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2247 | } | |||
| 2248 | break; | |||
| 2249 | ||||
| 2250 | case EXACTFAA_NO_TRIE49: /* This node only generated for non-utf8 patterns */ | |||
| 2251 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 2251, __func__ , "! is_utf8_pat")); | |||
| 2252 | /* FALLTHROUGH */ | |||
| 2253 | case EXACTFAA46: | |||
| 2254 | if (is_utf8_pat) { | |||
| 2255 | utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII(1 << 0) | |||
| 2256 | |FOLDEQ_S2_ALREADY_FOLDED(1 << 3)|FOLDEQ_S2_FOLDS_SANE(1 << 5); | |||
| 2257 | goto do_exactf_utf8; | |||
| 2258 | } | |||
| 2259 | else if (utf8_target) { | |||
| 2260 | ||||
| 2261 | /* Here, and elsewhere in this file, the reason we can't consider a | |||
| 2262 | * non-UTF-8 pattern already folded in the presence of a UTF-8 | |||
| 2263 | * target is because any MICRO SIGN in the pattern won't be folded. | |||
| 2264 | * Since the fold of the MICRO SIGN requires UTF-8 to represent, we | |||
| 2265 | * can consider a non-UTF-8 pattern folded when matching a | |||
| 2266 | * non-UTF-8 target */ | |||
| 2267 | utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII(1 << 0); | |||
| 2268 | goto do_exactf_utf8; | |||
| 2269 | } | |||
| 2270 | ||||
| 2271 | /* Latin1 folds are not affected by /a, except it excludes the sharp s, | |||
| 2272 | * which these functions don't handle anyway */ | |||
| 2273 | fold_array = PL_fold_latin1; | |||
| 2274 | folder = foldEQ_latin1_s2_foldedS_foldEQ_latin1_s2_folded; | |||
| 2275 | goto do_exactf_non_utf8; | |||
| 2276 | ||||
| 2277 | case EXACTF43: /* This node only generated for non-utf8 patterns */ | |||
| 2278 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 2278, __func__ , "! is_utf8_pat")); | |||
| 2279 | if (utf8_target) { | |||
| 2280 | goto do_exactf_utf8; | |||
| 2281 | } | |||
| 2282 | fold_array = PL_fold; | |||
| 2283 | folder = foldEQPerl_foldEQ; | |||
| 2284 | goto do_exactf_non_utf8; | |||
| 2285 | ||||
| 2286 | case EXACTFL44: | |||
| 2287 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 2288 | if (is_utf8_pat || utf8_target || IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) { | |||
| 2289 | utf8_fold_flags = FOLDEQ_LOCALE(1 << 1); | |||
| 2290 | goto do_exactf_utf8; | |||
| 2291 | } | |||
| 2292 | fold_array = PL_fold_locale; | |||
| 2293 | folder = foldEQ_localePerl_foldEQ_locale; | |||
| 2294 | goto do_exactf_non_utf8; | |||
| 2295 | ||||
| 2296 | case EXACTFUP47: /* Problematic even though pattern isn't UTF-8. Use | |||
| 2297 | full functionality normally not done except for | |||
| 2298 | UTF-8 */ | |||
| 2299 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 2299, __func__ , "! is_utf8_pat")); | |||
| 2300 | goto do_exactf_utf8; | |||
| 2301 | ||||
| 2302 | case EXACTFLU848: | |||
| 2303 | if (! utf8_target) { /* All code points in this node require | |||
| 2304 | UTF-8 to express. */ | |||
| 2305 | break; | |||
| 2306 | } | |||
| 2307 | utf8_fold_flags = FOLDEQ_LOCALE(1 << 1) | FOLDEQ_S2_ALREADY_FOLDED(1 << 3) | |||
| 2308 | | FOLDEQ_S2_FOLDS_SANE(1 << 5); | |||
| 2309 | goto do_exactf_utf8; | |||
| 2310 | ||||
| 2311 | case EXACTFU_REQ852: | |||
| 2312 | if (! utf8_target) { | |||
| 2313 | break; | |||
| 2314 | } | |||
| 2315 | assert(is_utf8_pat)((is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 2315, __func__ , "is_utf8_pat")); | |||
| 2316 | utf8_fold_flags = FOLDEQ_S2_ALREADY_FOLDED(1 << 3); | |||
| 2317 | goto do_exactf_utf8; | |||
| 2318 | ||||
| 2319 | case EXACTFU45: | |||
| 2320 | if (is_utf8_pat || utf8_target) { | |||
| 2321 | utf8_fold_flags = FOLDEQ_S2_ALREADY_FOLDED(1 << 3); | |||
| 2322 | goto do_exactf_utf8; | |||
| 2323 | } | |||
| 2324 | ||||
| 2325 | /* Any 'ss' in the pattern should have been replaced by regcomp, | |||
| 2326 | * so we don't have to worry here about this single special case | |||
| 2327 | * in the Latin1 range */ | |||
| 2328 | fold_array = PL_fold_latin1; | |||
| 2329 | folder = foldEQ_latin1_s2_foldedS_foldEQ_latin1_s2_folded; | |||
| 2330 | ||||
| 2331 | /* FALLTHROUGH */ | |||
| 2332 | ||||
| 2333 | do_exactf_non_utf8: /* Neither pattern nor string are UTF8, and there | |||
| 2334 | are no glitches with fold-length differences | |||
| 2335 | between the target string and pattern */ | |||
| 2336 | ||||
| 2337 | /* The idea in the non-utf8 EXACTF* cases is to first find the | |||
| 2338 | * first character of the EXACTF* node and then, if necessary, | |||
| 2339 | * case-insensitively compare the full text of the node. c1 is the | |||
| 2340 | * first character. c2 is its fold. This logic will not work for | |||
| 2341 | * Unicode semantics and the german sharp ss, which hence should | |||
| 2342 | * not be compiled into a node that gets here. */ | |||
| 2343 | pat_string = STRINGs(c)(((((c)->type) != 41 && ((c)->type) != 51) ? (void )0 : __assert2("re_exec.c", 2343, __func__, "((c)->type) != 41 && ((c)->type) != 51" )), ((struct regnode_string *)c)->string); | |||
| 2344 | ln = STR_LENs(c)(((((c)->type) != 41 && ((c)->type) != 51) ? (void )0 : __assert2("re_exec.c", 2344, __func__, "((c)->type) != 41 && ((c)->type) != 51" )), ((struct regnode_string *)c)->str_len); /* length to match in octets/bytes */ | |||
| 2345 | ||||
| 2346 | /* We know that we have to match at least 'ln' bytes (which is the | |||
| 2347 | * same as characters, since not utf8). If we have to match 3 | |||
| 2348 | * characters, and there are only 2 availabe, we know without | |||
| 2349 | * trying that it will fail; so don't start a match past the | |||
| 2350 | * required minimum number from the far end */ | |||
| 2351 | e = HOP3c(strend, -((SSize_t)ln), s)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , -((ssize_t)ln), (U8*)(s)) : (U8*)(strend + -((ssize_t)ln))) ); | |||
| 2352 | if (e < s) | |||
| 2353 | break; | |||
| 2354 | ||||
| 2355 | c1 = *pat_string; | |||
| 2356 | c2 = fold_array[c1]; | |||
| 2357 | if (c1 == c2) { /* If char and fold are the same */ | |||
| 2358 | while (s <= e) { | |||
| 2359 | s = (char *) memchr(s, c1, e + 1 - s); | |||
| 2360 | if (s == NULL((void*)0)) { | |||
| 2361 | break; | |||
| 2362 | } | |||
| 2363 | ||||
| 2364 | /* Check that the rest of the node matches */ | |||
| 2365 | if ( (ln == 1 || folder(s + 1, pat_string + 1, ln - 1)) | |||
| 2366 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) ) | |||
| 2367 | { | |||
| 2368 | goto got_it; | |||
| 2369 | } | |||
| 2370 | s++; | |||
| 2371 | } | |||
| 2372 | } | |||
| 2373 | else { | |||
| 2374 | U8 bits_differing = c1 ^ c2; | |||
| 2375 | ||||
| 2376 | /* If the folds differ in one bit position only, we can mask to | |||
| 2377 | * match either of them, and can use this faster find method. Both | |||
| 2378 | * ASCII and EBCDIC tend to have their case folds differ in only | |||
| 2379 | * one position, so this is very likely */ | |||
| 2380 | if (LIKELY(PL_bitcount[bits_differing] == 1)__builtin_expect(((PL_bitcount[bits_differing] == 1) ? (_Bool )1 : (_Bool)0),(1))) { | |||
| 2381 | bits_differing = ~ bits_differing; | |||
| 2382 | while (s <= e) { | |||
| 2383 | s = (char *) find_next_maskedS_find_next_masked((U8 *) s, (U8 *) e + 1, | |||
| 2384 | (c1 & bits_differing), bits_differing); | |||
| 2385 | if (s > e) { | |||
| 2386 | break; | |||
| 2387 | } | |||
| 2388 | ||||
| 2389 | if ( (ln == 1 || folder(s + 1, pat_string + 1, ln - 1)) | |||
| 2390 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) ) | |||
| 2391 | { | |||
| 2392 | goto got_it; | |||
| 2393 | } | |||
| 2394 | s++; | |||
| 2395 | } | |||
| 2396 | } | |||
| 2397 | else { /* Otherwise, stuck with looking byte-at-a-time. This | |||
| 2398 | should actually happen only in EXACTFL nodes */ | |||
| 2399 | while (s <= e) { | |||
| 2400 | if ( (*(U8*)s == c1 || *(U8*)s == c2) | |||
| 2401 | && (ln == 1 || folder(s + 1, pat_string + 1, ln - 1)) | |||
| 2402 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) ) | |||
| 2403 | { | |||
| 2404 | goto got_it; | |||
| 2405 | } | |||
| 2406 | s++; | |||
| 2407 | } | |||
| 2408 | } | |||
| 2409 | } | |||
| 2410 | break; | |||
| 2411 | ||||
| 2412 | do_exactf_utf8: | |||
| 2413 | { | |||
| 2414 | unsigned expansion; | |||
| 2415 | ||||
| 2416 | /* If one of the operands is in utf8, we can't use the simpler folding | |||
| 2417 | * above, due to the fact that many different characters can have the | |||
| 2418 | * same fold, or portion of a fold, or different- length fold */ | |||
| 2419 | pat_string = STRINGs(c)(((((c)->type) != 41 && ((c)->type) != 51) ? (void )0 : __assert2("re_exec.c", 2419, __func__, "((c)->type) != 41 && ((c)->type) != 51" )), ((struct regnode_string *)c)->string); | |||
| 2420 | ln = STR_LENs(c)(((((c)->type) != 41 && ((c)->type) != 51) ? (void )0 : __assert2("re_exec.c", 2420, __func__, "((c)->type) != 41 && ((c)->type) != 51" )), ((struct regnode_string *)c)->str_len); /* length to match in octets/bytes */ | |||
| 2421 | pat_end = pat_string + ln; | |||
| 2422 | lnc = is_utf8_pat /* length to match in characters */ | |||
| 2423 | ? utf8_length((U8 *) pat_string, (U8 *) pat_end)Perl_utf8_length( (U8 *) pat_string,(U8 *) pat_end) | |||
| 2424 | : ln; | |||
| 2425 | ||||
| 2426 | /* We have 'lnc' characters to match in the pattern, but because of | |||
| 2427 | * multi-character folding, each character in the target can match | |||
| 2428 | * up to 3 characters (Unicode guarantees it will never exceed | |||
| 2429 | * this) if it is utf8-encoded; and up to 2 if not (based on the | |||
| 2430 | * fact that the Latin 1 folds are already determined, and the | |||
| 2431 | * only multi-char fold in that range is the sharp-s folding to | |||
| 2432 | * 'ss'. Thus, a pattern character can match as little as 1/3 of a | |||
| 2433 | * string character. Adjust lnc accordingly, rounding up, so that | |||
| 2434 | * if we need to match at least 4+1/3 chars, that really is 5. */ | |||
| 2435 | expansion = (utf8_target) ? UTF8_MAX_FOLD_CHAR_EXPAND3 : 2; | |||
| 2436 | lnc = (lnc + expansion - 1) / expansion; | |||
| 2437 | ||||
| 2438 | /* As in the non-UTF8 case, if we have to match 3 characters, and | |||
| 2439 | * only 2 are left, it's guaranteed to fail, so don't start a | |||
| 2440 | * match that would require us to go beyond the end of the string | |||
| 2441 | */ | |||
| 2442 | e = HOP3c(strend, -((SSize_t)lnc), s)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , -((ssize_t)lnc), (U8*)(s)) : (U8*)(strend + -((ssize_t)lnc) ))); | |||
| 2443 | ||||
| 2444 | /* XXX Note that we could recalculate e to stop the loop earlier, | |||
| 2445 | * as the worst case expansion above will rarely be met, and as we | |||
| 2446 | * go along we would usually find that e moves further to the left. | |||
| 2447 | * This would happen only after we reached the point in the loop | |||
| 2448 | * where if there were no expansion we should fail. Unclear if | |||
| 2449 | * worth the expense */ | |||
| 2450 | ||||
| 2451 | while (s <= e) { | |||
| 2452 | char *my_strend= (char *)strend; | |||
| 2453 | if (foldEQ_utf8_flags(s, &my_strend, 0, utf8_target,Perl_foldEQ_utf8_flags( s,&my_strend,0,utf8_target,pat_string ,((void*)0),ln,is_utf8_pat,utf8_fold_flags) | |||
| 2454 | pat_string, NULL, ln, is_utf8_pat, utf8_fold_flags)Perl_foldEQ_utf8_flags( s,&my_strend,0,utf8_target,pat_string ,((void*)0),ln,is_utf8_pat,utf8_fold_flags) | |||
| 2455 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) ) | |||
| 2456 | { | |||
| 2457 | goto got_it; | |||
| 2458 | } | |||
| 2459 | s += (utf8_target) ? UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2459, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1; | |||
| 2460 | } | |||
| 2461 | break; | |||
| 2462 | } | |||
| 2463 | ||||
| 2464 | case BOUNDL9: | |||
| 2465 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 2466 | if (FLAGS(c)((c)->flags) != TRADITIONAL_BOUND) { | |||
| 2467 | if (! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) { | |||
| 2468 | Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE)(63 ), | |||
| 2469 | B_ON_NON_UTF8_LOCALE_IS_WRONG"Use of \\b{} or \\B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale"); | |||
| 2470 | } | |||
| 2471 | goto do_boundu; | |||
| 2472 | } | |||
| 2473 | ||||
| 2474 | FBC_BOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = (tmp < 256 ? (! ( (sizeof (tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (tmp)] & (1U << (0))) ? (_Bool )1 : (_Bool)0) : (((isalnum( (U8) (tmp)) || (char)(tmp) == '_' )) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO( 0,tmp)); do { while (s < strend) { if (tmp == ! (((((((U8 *) reginfo->strend ) > ((U8 *) s))) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(((U8 *) reginfo->strend) > ((U8 *) s))")), (((((U64 )(((UV) (((*((U8 *) s)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (*((U8 *) s))] & (1U << (0)) ) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (*((U8 *) s))) || (char)(*((U8 *) s)) == '_')) ? (_Bool)1 : (_Bool)0)) : ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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 *) reginfo->strend ) - ((U8 *) s) > 1 && (((( (sizeof(*(((U8 *) s)+1) ) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( (((((( (sizeof(*((U8 *) s )) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2474, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(( U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2474, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2474, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool)1 : ( _Bool)0) : (((isalnum( (U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2474, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( (((((( (sizeof(*((U8 *) s) ) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2474, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2474, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2474, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2474, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0 )) : Perl__is_utf8_FOO( 0,(U8 *) s,(U8 *) reginfo->strend) )))) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo ->strend && S_regtry( reginfo,&s))) goto got_it ; } else { ; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2474, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = (! ( (sizeof(tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (tmp)] & (1U << (0))) ? (_Bool )1 : (_Bool)0) : (((isalnum( (U8) (tmp)) || (char)(tmp) == '_' )) ? (_Bool)1 : (_Bool)0)); do { while (s < strend) { if ( tmp == ! (! ( (sizeof((U8) *s) == 1) || !(((U64)(((U8) *s) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) ((U8) *s)] & (1U << (0))) ? (_Bool)1 : (_Bool )0) : (((isalnum( (U8) ((U8) *s)) || (char)((U8) *s) == '_')) ? (_Bool)1 : (_Bool)0))) { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo-> strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2474, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! (! ( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ('\n')] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) ('\n')) || (char)('\n') == '_')) ? (_Bool)1 : (_Bool)0))) { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } else { ; }; | |||
| 2475 | break; | |||
| 2476 | ||||
| 2477 | case NBOUNDL13: | |||
| 2478 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 2479 | if (FLAGS(c)((c)->flags) != TRADITIONAL_BOUND) { | |||
| 2480 | if (! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) { | |||
| 2481 | Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE)(63 ), | |||
| 2482 | B_ON_NON_UTF8_LOCALE_IS_WRONG"Use of \\b{} or \\B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale"); | |||
| 2483 | } | |||
| 2484 | goto do_nboundu; | |||
| 2485 | } | |||
| 2486 | ||||
| 2487 | FBC_NBOUND(isWORDCHAR_LC, isWORDCHAR_LC_uvchr, isWORDCHAR_LC_utf8_safe)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = (tmp < 256 ? (! ( (sizeof (tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (tmp)] & (1U << (0))) ? (_Bool )1 : (_Bool)0) : (((isalnum( (U8) (tmp)) || (char)(tmp) == '_' )) ? (_Bool)1 : (_Bool)0)) : Perl__is_uni_FOO( 0,tmp)); do { while (s < strend) { if (tmp == ! (((((((U8 *) reginfo->strend ) > ((U8 *) s))) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(((U8 *) reginfo->strend) > ((U8 *) s))")), (((((U64 )(((UV) (((*((U8 *) s)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (*((U8 *) s))] & (1U << (0)) ) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) (*((U8 *) s))) || (char)(*((U8 *) s)) == '_')) ? (_Bool)1 : (_Bool)0)) : ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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 *) reginfo->strend ) - ((U8 *) s) > 1 && (((( (sizeof(*(((U8 *) s)+1) ) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( (((((( (sizeof(*((U8 *) s )) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2487, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(( U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2487, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2487, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool)1 : ( _Bool)0) : (((isalnum( (U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2487, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( (((((( (sizeof(*((U8 *) s) ) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2487, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2487, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "(((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(( (U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1) )) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2487, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2487, __func__, \"( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64) (((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2487, __func__, "( (sizeof((*(((U8 *) s)+1))) == 1) || !(((U64)(((*(((U8 *) s)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0 )) : Perl__is_utf8_FOO( 0,(U8 *) s,(U8 *) reginfo->strend) )))) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? ( void)0 : __assert2("re_exec.c", 2487, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = (! ( (sizeof(tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (tmp)] & (1U << (0))) ? (_Bool )1 : (_Bool)0) : (((isalnum( (U8) (tmp)) || (char)(tmp) == '_' )) ? (_Bool)1 : (_Bool)0)); do { while (s < strend) { if ( tmp == ! (! ( (sizeof((U8) *s) == 1) || !(((U64)(((U8) *s) | 0 )) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass [(U8) ((U8) *s)] & (1U << (0))) ? (_Bool)1 : (_Bool )0) : (((isalnum( (U8) ((U8) *s)) || (char)((U8) *s) == '_')) ? (_Bool)1 : (_Bool)0))) { ; tmp = !tmp; } else { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } s += ((0) ? ((((reginfo-> strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2487, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! (! ( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ('\n')] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum( (U8) ('\n')) || (char)('\n') == '_')) ? (_Bool)1 : (_Bool)0))) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; }; | |||
| 2488 | break; | |||
| 2489 | ||||
| 2490 | case BOUND8: /* regcomp.c makes sure that this only has the traditional \b | |||
| 2491 | meaning */ | |||
| 2492 | assert(FLAGS(c) == TRADITIONAL_BOUND)((((c)->flags) == TRADITIONAL_BOUND) ? (void)0 : __assert2 ("re_exec.c", 2492, __func__, "FLAGS(c) == TRADITIONAL_BOUND" )); | |||
| 2493 | ||||
| 2494 | FBC_BOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = ((tmp) < 256 ? ((( (sizeof (tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) && ( PL_charclass[(U8) (tmp)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 0,tmp)); do { while (s < strend ) { if (tmp == ! (((! (((U8 *) reginfo->strend) > ((U8 * ) s))) ? (Perl__force_out_malformed_utf8_message( (U8 *) ((U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0) : (((((U64 )(((UV) (((*((U8 *) s)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF)) && (PL_charclass[ (U8) (*((U8 *) s))] & (1U << (0)))) ? (_Bool)1 : (_Bool )0) : ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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 *) reginfo->strend ) - ((U8 *) s) > 1 && (((( (sizeof(*(((U8 *) s)+1) ) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*((U8 *) s) ) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2494, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(( U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2494, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2494, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2494, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2494, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2494, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( (U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0)) : Perl__is_utf8_FOO ( 0,(U8 *) s,(U8 *) reginfo->strend))))) { tmp = !tmp; if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } s += ((1) ? ((( (reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2494, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ); } else { tmp = (s != reginfo->strbeg) ? ((int)*(const U8 *)(s - 1)) : '\n'; tmp = (( (sizeof(tmp) == 1) || !(((U64)((tmp ) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (tmp)] & ((1U << (0)) | (1U << (14)))) == ((1U << ( 0)) | (1U << (14))))); do { while (s < strend) { if ( tmp == ! (( (sizeof((U8) *s) == 1) || !(((U64)(((U8) *s) | 0) ) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *s)] & ((1U << (0)) | (1U << (14)))) == ((1U << ( 0)) | (1U << (14)))))) { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo-> strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2494, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! (( ( sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF)) && ((PL_charclass[(U8) ('\n')] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; }; | |||
| 2495 | break; | |||
| 2496 | ||||
| 2497 | case BOUNDA11: /* regcomp.c makes sure that this only has the traditional \b | |||
| 2498 | meaning */ | |||
| 2499 | assert(FLAGS(c) == TRADITIONAL_BOUND)((((c)->flags) == TRADITIONAL_BOUND) ? (void)0 : __assert2 ("re_exec.c", 2499, __func__, "FLAGS(c) == TRADITIONAL_BOUND" )); | |||
| 2500 | ||||
| 2501 | FBC_BOUND_A(isWORDCHAR_A)if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = (( (sizeof(tmp) == 1) || !(( (U64)((tmp) | 0)) & ~0xFF)) && ((PL_charclass[(U8 ) (tmp)] & ((1U << (0)) | (1U << (14)))) == ( (1U << (0)) | (1U << (14))))); do { while (s < strend) { if (tmp == ! (( (sizeof((U8) *s) == 1) || !(((U64) (((U8) *s) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *s)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { tmp = !tmp; if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } else { ; } s += ( (1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2501, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = (( (sizeof(tmp) == 1) || ! (((U64)((tmp) | 0)) & ~0xFF)) && ((PL_charclass[( U8) (tmp)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); do { while (s < strend) { if (tmp == ! (( (sizeof((U8) *s) == 1) || !(((U64) (((U8) *s) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *s)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { if (reginfo-> intuit || (s <= reginfo->strend && S_regtry( reginfo ,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ( (((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2501, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ); } if (tmp == ! (( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF)) && ((PL_charclass[(U8) ('\n')] & ((1U << (0)) | (1U << (14)))) == ((1U << ( 0)) | (1U << (14)))))) { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } else { ; }; | |||
| 2502 | break; | |||
| 2503 | ||||
| 2504 | case NBOUND12: /* regcomp.c makes sure that this only has the traditional \b | |||
| 2505 | meaning */ | |||
| 2506 | assert(FLAGS(c) == TRADITIONAL_BOUND)((((c)->flags) == TRADITIONAL_BOUND) ? (void)0 : __assert2 ("re_exec.c", 2506, __func__, "FLAGS(c) == TRADITIONAL_BOUND" )); | |||
| 2507 | ||||
| 2508 | FBC_NBOUND(isWORDCHAR, isWORDCHAR_uni, isWORDCHAR_utf8_safe)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = ((tmp) < 256 ? ((( (sizeof (tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) && ( PL_charclass[(U8) (tmp)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 0,tmp)); do { while (s < strend ) { if (tmp == ! (((! (((U8 *) reginfo->strend) > ((U8 * ) s))) ? (Perl__force_out_malformed_utf8_message( (U8 *) ((U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0) : (((((U64 )(((UV) (((*((U8 *) s)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF)) && (PL_charclass[ (U8) (*((U8 *) s))] & (1U << (0)))) ? (_Bool)1 : (_Bool )0) : ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2508, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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 *) reginfo->strend ) - ((U8 *) s) > 1 && (((( (sizeof(*(((U8 *) s)+1) ) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*((U8 *) s) ) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2508, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2508, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2508, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(( U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2508, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2508, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2508, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2508, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2508, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2508, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2508, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2508, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2508, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2508, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( (U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0)) : Perl__is_utf8_FOO ( 0,(U8 *) s,(U8 *) reginfo->strend))))) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } s += ( (1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = (( (sizeof(tmp) == 1) || ! (((U64)((tmp) | 0)) & ~0xFF)) && ((PL_charclass[( U8) (tmp)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); do { while (s < strend) { if (tmp == ! (( (sizeof((U8) *s) == 1) || !(((U64) (((U8) *s) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *s)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } s += ( (0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2508, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! (( (sizeof('\n') == 1) || !(((U64 )(('\n') | 0)) & ~0xFF)) && ((PL_charclass[(U8) ( '\n')] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { ; } else { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; }; | |||
| 2509 | break; | |||
| 2510 | ||||
| 2511 | case NBOUNDA15: /* regcomp.c makes sure that this only has the traditional \b | |||
| 2512 | meaning */ | |||
| 2513 | assert(FLAGS(c) == TRADITIONAL_BOUND)((((c)->flags) == TRADITIONAL_BOUND) ? (void)0 : __assert2 ("re_exec.c", 2513, __func__, "FLAGS(c) == TRADITIONAL_BOUND" )); | |||
| 2514 | ||||
| 2515 | FBC_NBOUND_A(isWORDCHAR_A)if (utf8_target) { tmp = (s != reginfo->strbeg) ? ((int)*( const U8*)(s - 1)) : '\n'; tmp = (( (sizeof(tmp) == 1) || !(( (U64)((tmp) | 0)) & ~0xFF)) && ((PL_charclass[(U8 ) (tmp)] & ((1U << (0)) | (1U << (14)))) == ( (1U << (0)) | (1U << (14))))); do { while (s < strend) { if (tmp == ! (( (sizeof((U8) *s) == 1) || !(((U64) (((U8) *s) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *s)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } s += ( (1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2515, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = (( (sizeof(tmp) == 1) || ! (((U64)((tmp) | 0)) & ~0xFF)) && ((PL_charclass[( U8) (tmp)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); do { while (s < strend) { if (tmp == ! (( (sizeof((U8) *s) == 1) || !(((U64) (((U8) *s) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *s)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } s += ( (0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2515, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! (( (sizeof('\n') == 1) || !(((U64 )(('\n') | 0)) & ~0xFF)) && ((PL_charclass[(U8) ( '\n')] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14)))))) { ; } else { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; }; | |||
| 2516 | break; | |||
| 2517 | ||||
| 2518 | case NBOUNDU14: | |||
| 2519 | if ((bound_type) FLAGS(c)((c)->flags) == TRADITIONAL_BOUND) { | |||
| 2520 | FBC_NBOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = ((tmp) < 256 ? ((( (sizeof (tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) && ( PL_charclass[(U8) (tmp)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 0,tmp)); do { while (s < strend ) { if (tmp == ! (((! (((U8 *) reginfo->strend) > ((U8 * ) s))) ? (Perl__force_out_malformed_utf8_message( (U8 *) ((U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0) : (((((U64 )(((UV) (((*((U8 *) s)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF)) && (PL_charclass[ (U8) (*((U8 *) s))] & (1U << (0)))) ? (_Bool)1 : (_Bool )0) : ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2520, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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 *) reginfo->strend ) - ((U8 *) s) > 1 && (((( (sizeof(*(((U8 *) s)+1) ) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*((U8 *) s) ) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2520, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2520, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2520, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(( U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2520, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2520, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2520, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2520, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2520, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2520, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2520, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2520, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2520, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( (U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0)) : Perl__is_utf8_FOO ( 0,(U8 *) s,(U8 *) reginfo->strend))))) { tmp = !tmp; ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; } s += ( (1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2520, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } else { tmp = (s != reginfo->strbeg) ? ((int )*(const U8*)(s - 1)) : '\n'; tmp = ((( (sizeof(tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) && (PL_charclass[ (U8) (tmp)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0); do { while (s < strend) { if (tmp == ! ((( (sizeof((U8) * s) == 1) || !(((U64)(((U8) *s) | 0)) & ~0xFF)) && (PL_charclass[(U8) ((U8) *s)] & (1U << (0)))) ? (_Bool )1 : (_Bool)0)) { ; tmp = !tmp; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s))) goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2520, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! ((( (sizeof('\n') == 1) || !(((U64 )(('\n') | 0)) & ~0xFF)) && (PL_charclass[(U8) ('\n' )] & (1U << (0)))) ? (_Bool)1 : (_Bool)0)) { ; } else { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; }; | |||
| 2521 | break; | |||
| 2522 | } | |||
| 2523 | ||||
| 2524 | do_nboundu: | |||
| 2525 | ||||
| 2526 | to_complement = 1; | |||
| 2527 | /* FALLTHROUGH */ | |||
| 2528 | ||||
| 2529 | case BOUNDU10: | |||
| 2530 | do_boundu: | |||
| 2531 | switch((bound_type) FLAGS(c)((c)->flags)) { | |||
| 2532 | case TRADITIONAL_BOUND: | |||
| 2533 | FBC_BOUND(isWORDCHAR_L1, isWORDCHAR_uni, isWORDCHAR_utf8_safe)if (utf8_target) { if (s == reginfo->strbeg) { tmp = '\n'; } else { U8 * const r = S_reghop3((U8*)s, -1, (U8*)reginfo-> strbeg); tmp = Perl_utf8n_to_uvchr_msgs(r, (U8*) reginfo-> strend - r, 0, 0, 0, 0); } tmp = ((tmp) < 256 ? ((( (sizeof (tmp) == 1) || !(((U64)((tmp) | 0)) & ~0xFF)) && ( PL_charclass[(U8) (tmp)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : Perl__is_uni_FOO( 0,tmp)); do { while (s < strend ) { if (tmp == ! (((! (((U8 *) reginfo->strend) > ((U8 * ) s))) ? (Perl__force_out_malformed_utf8_message( (U8 *) ((U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0) : (((((U64 )(((UV) (((*((U8 *) s)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF)) && (PL_charclass[ (U8) (*((U8 *) s))] & (1U << (0)))) ? (_Bool)1 : (_Bool )0) : ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2533, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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 *) reginfo->strend ) - ((U8 *) s) > 1 && (((( (sizeof(*(((U8 *) s)+1) ) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*(((U8 *) s)+1)) == 1) || !(((U64)((*(((U8 *) s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*((U8 *) s) ) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2533, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2533, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2533, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(( U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2533, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2533, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2533, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*( (U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !((( U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64) ((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 2533, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64 )((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2533, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(( (U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2533, __func__ , "(((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"sizeof((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2533, __func__, \\\"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8 *) s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 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 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*((( U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "(((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*(((U8 *) s)+1 )) == 1) || !(((U64)((*(((U8 *) s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8 *) s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !( ((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ) )) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "( (sizeof((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))\")), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2533, __func__, \"( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64 )(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533 , __func__, "( (sizeof(*((U8 *) s)) == 1) || !(((U64)((*((U8 *) s)) | 0)) & ~0xFF))" )), ((U8) ((*((U8 *) s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(( (U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "( (sizeof((*(((U8 *) s)+1 ))) == 1) || !(((U64)(((*(((U8 *) s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8 *) s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( (U8 *) s),(U8 *) ((U8 *) reginfo->strend),0,1), 0)) : Perl__is_utf8_FOO ( 0,(U8 *) s,(U8 *) reginfo->strend))))) { tmp = !tmp; if ( reginfo->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; } s += ((1) ? ((( (reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2533, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0 ); } else { tmp = (s != reginfo->strbeg) ? ((int)*(const U8 *)(s - 1)) : '\n'; tmp = ((( (sizeof(tmp) == 1) || !(((U64)(( tmp) | 0)) & ~0xFF)) && (PL_charclass[(U8) (tmp)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0); do { while (s < strend) { if (tmp == ! ((( (sizeof((U8) *s) == 1) || !(((U64)(((U8) *s) | 0)) & ~0xFF)) && (PL_charclass [(U8) ((U8) *s)] & (1U << (0)))) ? (_Bool)1 : (_Bool )0)) { if (reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s))) goto got_it; tmp = !tmp; } else { ; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2533, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); } if (tmp == ! ((( (sizeof('\n') == 1) || !(((U64 )(('\n') | 0)) & ~0xFF)) && (PL_charclass[(U8) ('\n' )] & (1U << (0)))) ? (_Bool)1 : (_Bool)0)) { if (reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s))) goto got_it; } else { ; }; | |||
| 2534 | break; | |||
| 2535 | case GCB_BOUND: | |||
| 2536 | if (s == reginfo->strbeg) { | |||
| 2537 | if (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 2538 | { | |||
| 2539 | goto got_it; | |||
| 2540 | } | |||
| 2541 | ||||
| 2542 | /* Didn't match. Try at the next position (if there is one) */ | |||
| 2543 | s += (utf8_target) ? UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2543, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1; | |||
| 2544 | if (UNLIKELY(s >= reginfo->strend)__builtin_expect(((s >= reginfo->strend) ? (_Bool)1 : ( _Bool)0),(0))) { | |||
| 2545 | break; | |||
| 2546 | } | |||
| 2547 | } | |||
| 2548 | ||||
| 2549 | if (utf8_target) { | |||
| 2550 | GCB_enum before = getGCB_VAL_UTF8((((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2553 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2551 | reghop3((U8*)s, -1,(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2553 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2552 | (U8*)(reginfo->strbeg)),(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2553 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2553 | (U8*) reginfo->strend)(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2553 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])); | |||
| 2554 | while (s < strend) { | |||
| 2555 | GCB_enum after = getGCB_VAL_UTF8((U8*) s,((((U8*) s < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 2556, __func__, "(U8*) s < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) s)),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])) | |||
| 2556 | (U8*) reginfo->strend)((((U8*) s < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 2556, __func__, "(U8*) s < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) s)),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])); | |||
| 2557 | if ( (to_complement ^ isGCB(before,S_isGCB( before,after,(U8*) reginfo->strbeg,(U8*) s,utf8_target ) | |||
| 2558 | after,S_isGCB( before,after,(U8*) reginfo->strbeg,(U8*) s,utf8_target ) | |||
| 2559 | (U8*) reginfo->strbeg,S_isGCB( before,after,(U8*) reginfo->strbeg,(U8*) s,utf8_target ) | |||
| 2560 | (U8*) s,S_isGCB( before,after,(U8*) reginfo->strbeg,(U8*) s,utf8_target ) | |||
| 2561 | utf8_target)S_isGCB( before,after,(U8*) reginfo->strbeg,(U8*) s,utf8_target )) | |||
| 2562 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2563 | { | |||
| 2564 | goto got_it; | |||
| 2565 | } | |||
| 2566 | before = after; | |||
| 2567 | s += UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2567, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); | |||
| 2568 | } | |||
| 2569 | } | |||
| 2570 | else { /* Not utf8. Everything is a GCB except between CR and | |||
| 2571 | LF */ | |||
| 2572 | while (s < strend) { | |||
| 2573 | if ((to_complement ^ ( UCHARAT(s - 1)((int)*(const U8*)(s - 1)) != '\r' | |||
| 2574 | || UCHARAT(s)((int)*(const U8*)(s)) != '\n')) | |||
| 2575 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2576 | { | |||
| 2577 | goto got_it; | |||
| 2578 | } | |||
| 2579 | s++; | |||
| 2580 | } | |||
| 2581 | } | |||
| 2582 | ||||
| 2583 | /* And, since this is a bound, it can match after the final | |||
| 2584 | * character in the string */ | |||
| 2585 | if ( reginfo->intuit | |||
| 2586 | || (s <= reginfo->strend && regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2587 | { | |||
| 2588 | goto got_it; | |||
| 2589 | } | |||
| 2590 | break; | |||
| 2591 | ||||
| 2592 | case LB_BOUND: | |||
| 2593 | if (s == reginfo->strbeg) { | |||
| 2594 | if (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) { | |||
| 2595 | goto got_it; | |||
| 2596 | } | |||
| 2597 | s += (utf8_target) ? UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2597, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1; | |||
| 2598 | if (UNLIKELY(s >= reginfo->strend)__builtin_expect(((s >= reginfo->strend) ? (_Bool)1 : ( _Bool)0),(0))) { | |||
| 2599 | break; | |||
| 2600 | } | |||
| 2601 | } | |||
| 2602 | ||||
| 2603 | if (utf8_target) { | |||
| 2604 | LB_enum before = getLB_VAL_UTF8(reghop3((U8*)s,(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2607 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2605 | -1,(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2607 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2606 | (U8*)(reginfo->strbeg)),(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2607 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2607 | (U8*) reginfo->strend)(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2607 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])); | |||
| 2608 | while (s < strend) { | |||
| 2609 | LB_enum after = getLB_VAL_UTF8((U8*) s, (U8*) reginfo->strend)((((U8*) s < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 2609, __func__, "(U8*) s < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) s)),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])); | |||
| 2610 | if (to_complement ^ isLB(before,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2611 | after,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2612 | (U8*) reginfo->strbeg,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2613 | (U8*) s,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2614 | (U8*) reginfo->strend,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2615 | utf8_target)S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2616 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2617 | { | |||
| 2618 | goto got_it; | |||
| 2619 | } | |||
| 2620 | before = after; | |||
| 2621 | s += UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2621, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); | |||
| 2622 | } | |||
| 2623 | } | |||
| 2624 | else { /* Not utf8. */ | |||
| 2625 | LB_enum before = getLB_VAL_CP((U8) *(s -1))_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, ((U8 ) *(s -1)))]; | |||
| 2626 | while (s < strend) { | |||
| 2627 | LB_enum after = getLB_VAL_CP((U8) *s)_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, ((U8 ) *s))]; | |||
| 2628 | if (to_complement ^ isLB(before,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2629 | after,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2630 | (U8*) reginfo->strbeg,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2631 | (U8*) s,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2632 | (U8*) reginfo->strend,S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2633 | utf8_target)S_isLB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2634 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2635 | { | |||
| 2636 | goto got_it; | |||
| 2637 | } | |||
| 2638 | before = after; | |||
| 2639 | s++; | |||
| 2640 | } | |||
| 2641 | } | |||
| 2642 | ||||
| 2643 | if ( reginfo->intuit | |||
| 2644 | || (s <= reginfo->strend && regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2645 | { | |||
| 2646 | goto got_it; | |||
| 2647 | } | |||
| 2648 | ||||
| 2649 | break; | |||
| 2650 | ||||
| 2651 | case SB_BOUND: | |||
| 2652 | if (s == reginfo->strbeg) { | |||
| 2653 | if (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) { | |||
| 2654 | goto got_it; | |||
| 2655 | } | |||
| 2656 | s += (utf8_target) ? UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2656, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1; | |||
| 2657 | if (UNLIKELY(s >= reginfo->strend)__builtin_expect(((s >= reginfo->strend) ? (_Bool)1 : ( _Bool)0),(0))) { | |||
| 2658 | break; | |||
| 2659 | } | |||
| 2660 | } | |||
| 2661 | ||||
| 2662 | if (utf8_target) { | |||
| 2663 | SB_enum before = getSB_VAL_UTF8(reghop3((U8*)s,(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2666 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2664 | -1,(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2666 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2665 | (U8*)(reginfo->strbeg)),(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2666 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2666 | (U8*) reginfo->strend)(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2666 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])); | |||
| 2667 | while (s < strend) { | |||
| 2668 | SB_enum after = getSB_VAL_UTF8((U8*) s,((((U8*) s < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 2669, __func__, "(U8*) s < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) s)),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])) | |||
| 2669 | (U8*) reginfo->strend)((((U8*) s < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 2669, __func__, "(U8*) s < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) s)),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])); | |||
| 2670 | if ((to_complement ^ isSB(before,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2671 | after,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2672 | (U8*) reginfo->strbeg,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2673 | (U8*) s,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2674 | (U8*) reginfo->strend,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2675 | utf8_target)S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target)) | |||
| 2676 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2677 | { | |||
| 2678 | goto got_it; | |||
| 2679 | } | |||
| 2680 | before = after; | |||
| 2681 | s += UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2681, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); | |||
| 2682 | } | |||
| 2683 | } | |||
| 2684 | else { /* Not utf8. */ | |||
| 2685 | SB_enum before = getSB_VAL_CP((U8) *(s -1))_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, ((U8 ) *(s -1)))]; | |||
| 2686 | while (s < strend) { | |||
| 2687 | SB_enum after = getSB_VAL_CP((U8) *s)_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, ((U8 ) *s))]; | |||
| 2688 | if ((to_complement ^ isSB(before,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2689 | after,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2690 | (U8*) reginfo->strbeg,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2691 | (U8*) s,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2692 | (U8*) reginfo->strend,S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target) | |||
| 2693 | utf8_target)S_isSB( before,after,(U8*) reginfo->strbeg,(U8*) s,(U8*) reginfo ->strend,utf8_target)) | |||
| 2694 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2695 | { | |||
| 2696 | goto got_it; | |||
| 2697 | } | |||
| 2698 | before = after; | |||
| 2699 | s++; | |||
| 2700 | } | |||
| 2701 | } | |||
| 2702 | ||||
| 2703 | /* Here are at the final position in the target string. The SB | |||
| 2704 | * value is always true here, so matches, depending on other | |||
| 2705 | * constraints */ | |||
| 2706 | if ( reginfo->intuit | |||
| 2707 | || (s <= reginfo->strend && regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2708 | { | |||
| 2709 | goto got_it; | |||
| 2710 | } | |||
| 2711 | ||||
| 2712 | break; | |||
| 2713 | ||||
| 2714 | case WB_BOUND: | |||
| 2715 | if (s == reginfo->strbeg) { | |||
| 2716 | if (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) { | |||
| 2717 | goto got_it; | |||
| 2718 | } | |||
| 2719 | s += (utf8_target) ? UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2719, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1; | |||
| 2720 | if (UNLIKELY(s >= reginfo->strend)__builtin_expect(((s >= reginfo->strend) ? (_Bool)1 : ( _Bool)0),(0))) { | |||
| 2721 | break; | |||
| 2722 | } | |||
| 2723 | } | |||
| 2724 | ||||
| 2725 | if (utf8_target) { | |||
| 2726 | /* We are at a boundary between char_sub_0 and char_sub_1. | |||
| 2727 | * We also keep track of the value for char_sub_-1 as we | |||
| 2728 | * loop through the line. Context may be needed to make a | |||
| 2729 | * determination, and if so, this can save having to | |||
| 2730 | * recalculate it */ | |||
| 2731 | WB_enum previous = WB_UNKNOWN; | |||
| 2732 | WB_enum before = getWB_VAL_UTF8((((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2736 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2733 | reghop3((U8*)s,(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2736 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2734 | -1,(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2736 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2735 | (U8*)(reginfo->strbeg)),(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2736 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])) | |||
| 2736 | (U8*) reginfo->strend)(((S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8* ) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 2736 , __func__, "S_reghop3((U8*)s, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)s, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8*) reginfo ->strend),((void*)0))))])); | |||
| 2737 | while (s < strend) { | |||
| 2738 | WB_enum after = getWB_VAL_UTF8((U8*) s,((((U8*) s < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 2739, __func__, "(U8*) s < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) s)),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])) | |||
| 2739 | (U8*) reginfo->strend)((((U8*) s < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 2739, __func__, "(U8*) s < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) s)),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])); | |||
| 2740 | if ((to_complement ^ isWB(previous,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2741 | before,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2742 | after,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2743 | (U8*) reginfo->strbeg,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2744 | (U8*) s,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2745 | (U8*) reginfo->strend,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2746 | utf8_target)S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target)) | |||
| 2747 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2748 | { | |||
| 2749 | goto got_it; | |||
| 2750 | } | |||
| 2751 | previous = before; | |||
| 2752 | before = after; | |||
| 2753 | s += UTF8_SAFE_SKIP(s, reginfo->strend)((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2753, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))); | |||
| 2754 | } | |||
| 2755 | } | |||
| 2756 | else { /* Not utf8. */ | |||
| 2757 | WB_enum previous = WB_UNKNOWN; | |||
| 2758 | WB_enum before = getWB_VAL_CP((U8) *(s -1))_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, ((U8 ) *(s -1)))]; | |||
| 2759 | while (s < strend) { | |||
| 2760 | WB_enum after = getWB_VAL_CP((U8) *s)_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, ((U8 ) *s))]; | |||
| 2761 | if ((to_complement ^ isWB(previous,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2762 | before,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2763 | after,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2764 | (U8*) reginfo->strbeg,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2765 | (U8*) s,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2766 | (U8*) reginfo->strend,S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target) | |||
| 2767 | utf8_target)S_isWB( previous,before,after,(U8*) reginfo->strbeg,(U8*) s ,(U8*) reginfo->strend,utf8_target)) | |||
| 2768 | && (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2769 | { | |||
| 2770 | goto got_it; | |||
| 2771 | } | |||
| 2772 | previous = before; | |||
| 2773 | before = after; | |||
| 2774 | s++; | |||
| 2775 | } | |||
| 2776 | } | |||
| 2777 | ||||
| 2778 | if ( reginfo->intuit | |||
| 2779 | || (s <= reginfo->strend && regtry(reginfo, &s)S_regtry( reginfo,&s))) | |||
| 2780 | { | |||
| 2781 | goto got_it; | |||
| 2782 | } | |||
| 2783 | } | |||
| 2784 | break; | |||
| 2785 | ||||
| 2786 | case LNBREAK106: | |||
| 2787 | REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),if (utf8_target) { do { while (s < strend) { if (( ((strend )-(s) > 2) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(0x0C) >= (0x0A)")), ( (sizeof (((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) : ( 0xC2 == ((const U8*)s)[0] ) ? ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8 *)s)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(0xA9) >= (0xA8)")), ( (sizeof (((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA8)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA8)) | 0)) ) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA8)) | 0) )) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ): ((strend)-(s) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(0x0C) >= (0x0A)")), ( (sizeof(((const U8 *)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) : ( ( 0xC2 == (( const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 ): ((strend)-(s) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(0x0D) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D ) - (0x0A))) | 0)))))))) ) : 0 )) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2789, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } else { do { while (s < strend) { if (( ((strend)-(s) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void) 0 : __assert2("re_exec.c", 2788, __func__, "(0x0C) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2788, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2788, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*)s)[0] ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1 ] ) ? 2 : 1 ) : 0 ) : ((strend)-(s) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(0x0D) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2788, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2788, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D ) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*)s)[0] ): 0 )) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2789, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } | |||
| 2788 | is_LNBREAK_latin1_safe(s, strend)if (utf8_target) { do { while (s < strend) { if (( ((strend )-(s) > 2) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(0x0C) >= (0x0A)")), ( (sizeof (((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) : ( 0xC2 == ((const U8*)s)[0] ) ? ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8 *)s)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(0xA9) >= (0xA8)")), ( (sizeof (((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA8)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA8)) | 0)) ) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA8)) | 0) )) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ): ((strend)-(s) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(0x0C) >= (0x0A)")), ( (sizeof(((const U8 *)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) : ( ( 0xC2 == (( const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 ): ((strend)-(s) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(0x0D) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D ) - (0x0A))) | 0)))))))) ) : 0 )) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2789, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } else { do { while (s < strend) { if (( ((strend)-(s) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void) 0 : __assert2("re_exec.c", 2788, __func__, "(0x0C) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2788, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2788, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*)s)[0] ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1 ] ) ? 2 : 1 ) : 0 ) : ((strend)-(s) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(0x0D) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2788, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2788, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D ) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*)s)[0] ): 0 )) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2789, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } | |||
| 2789 | )if (utf8_target) { do { while (s < strend) { if (( ((strend )-(s) > 2) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(0x0C) >= (0x0A)")), ( (sizeof (((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) : ( 0xC2 == ((const U8*)s)[0] ) ? ( ( 0x85 == ((const U8*)s)[1] ) ? 2 : 0 ) : ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8 *)s)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(0xA9) >= (0xA8)")), ( (sizeof (((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA8)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA8)) | 0)) ) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA8)) | 0) )) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ): ((strend)-(s) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(0x0C) >= (0x0A)")), ( (sizeof(((const U8 *)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1] ) ? 2 : 1 ) : ( ( 0xC2 == (( const U8*)s)[0] ) && ( 0x85 == ((const U8*)s)[1] ) ) ? 2 : 0 ): ((strend)-(s) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(0x0D) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2787, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2787, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2787, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2787, __func__ , "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D ) - (0x0A))) | 0)))))))) ) : 0 )) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2789, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } else { do { while (s < strend) { if (( ((strend)-(s) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void) 0 : __assert2("re_exec.c", 2788, __func__, "(0x0C) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2788, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2788, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*)s)[0] ) ? 1 : ( 0x0D == ((const U8*)s)[0] ) ? ( ( 0x0A == ((const U8*)s)[1 ] ) ? 2 : 1 ) : 0 ) : ((strend)-(s) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(0x0D) >= (0x0A)" )), ( (sizeof(((const U8*)s)[0]) == sizeof(U8)) ? ((((NV) ((0x0A )) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[0])))) - (((0x0A)) | 0)) ) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)s)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 2788, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2788, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[0])))) - (((0x0A)) | 0) )) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof((( const U8*)s)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "sizeof(((const U8*)s)[0]) == sizeof(U64)") ), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2788, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 2788, __func__ , "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D ) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*)s)[0] ): 0 )) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2789, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); }; | |||
| 2790 | break; | |||
| 2791 | ||||
| 2792 | /* The argument to all the POSIX node types is the class number to pass to | |||
| 2793 | * _generic_isCC() to build a mask for searching in PL_charclass[] */ | |||
| 2794 | ||||
| 2795 | case NPOSIXL35: | |||
| 2796 | to_complement = 1; | |||
| 2797 | /* FALLTHROUGH */ | |||
| 2798 | ||||
| 2799 | case POSIXL31: | |||
| 2800 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 2801 | REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s, (U8 *) strend)),if (utf8_target) { do { while (s < strend) { if (to_complement ^ ((S_isFOO_utf8_lc( ((c)->flags),(U8 *) s,(U8 *) strend) ) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2802, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } else { do { while (s < strend) { if (to_complement ^ ((Perl_isFOO_lc( ((c)->flags),*s)) ? (_Bool)1 : (_Bool) 0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2802, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } | |||
| 2802 | to_complement ^ cBOOL(isFOO_lc(FLAGS(c), *s)))if (utf8_target) { do { while (s < strend) { if (to_complement ^ ((S_isFOO_utf8_lc( ((c)->flags),(U8 *) s,(U8 *) strend) ) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2802, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); } else { do { while (s < strend) { if (to_complement ^ ((Perl_isFOO_lc( ((c)->flags),*s)) ? (_Bool)1 : (_Bool) 0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((0) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2802, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); }; | |||
| 2803 | break; | |||
| 2804 | ||||
| 2805 | case NPOSIXD34: | |||
| 2806 | to_complement = 1; | |||
| 2807 | /* FALLTHROUGH */ | |||
| 2808 | ||||
| 2809 | case POSIXD30: | |||
| 2810 | if (utf8_target) { | |||
| 2811 | goto posix_utf8; | |||
| 2812 | } | |||
| 2813 | goto posixa; | |||
| 2814 | ||||
| 2815 | case NPOSIXA37: | |||
| 2816 | if (utf8_target) { | |||
| 2817 | /* The complement of something that matches only ASCII matches all | |||
| 2818 | * non-ASCII, plus everything in ASCII that isn't in the class. */ | |||
| 2819 | REXEC_FBC_CLASS_SCAN(1, ! isASCII_utf8_safe(s, strend)do { while (s < strend) { if (! (((((strend) > (s))) ? ( void)0 : __assert2("re_exec.c", 2819, __func__, "((strend) > (s))" )), ((U64)((*(s)) | 0) < 128)) || ! (( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && ((PL_charclass[ (U8) (*s)] & ((1U << (((c)->flags))) | (1U << (14)))) == ((1U << (((c)->flags))) | (1U << ( 14)))))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2820, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2820 | || ! _generic_isCC_A(*s, FLAGS(c)))do { while (s < strend) { if (! (((((strend) > (s))) ? ( void)0 : __assert2("re_exec.c", 2819, __func__, "((strend) > (s))" )), ((U64)((*(s)) | 0) < 128)) || ! (( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && ((PL_charclass[ (U8) (*s)] & ((1U << (((c)->flags))) | (1U << (14)))) == ((1U << (((c)->flags))) | (1U << ( 14)))))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2820, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2821 | break; | |||
| 2822 | } | |||
| 2823 | ||||
| 2824 | to_complement = 1; | |||
| 2825 | goto posixa; | |||
| 2826 | ||||
| 2827 | case POSIXA33: | |||
| 2828 | /* Don't need to worry about utf8, as it can match only a single | |||
| 2829 | * byte invariant character. But we do anyway for performance reasons, | |||
| 2830 | * as otherwise we would have to examine all the continuation | |||
| 2831 | * characters */ | |||
| 2832 | if (utf8_target) { | |||
| 2833 | REXEC_FBC_CLASS_SCAN(1, _generic_isCC_A(*s, FLAGS(c)))do { while (s < strend) { if ((( (sizeof(*s) == 1) || !((( U64)((*s) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ( *s)] & ((1U << (((c)->flags))) | (1U << (14 )))) == ((1U << (((c)->flags))) | (1U << (14)) )))) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2833, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2834 | break; | |||
| 2835 | } | |||
| 2836 | ||||
| 2837 | posixa: | |||
| 2838 | REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */do { while (s < strend) { if (to_complement ^ (((( (sizeof (*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && (( PL_charclass[(U8) (*s)] & ((1U << (((c)->flags)) ) | (1U << (14)))) == ((1U << (((c)->flags))) | (1U << (14)))))) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2839, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2839 | to_complement ^ cBOOL(_generic_isCC_A(*s, FLAGS(c))))do { while (s < strend) { if (to_complement ^ (((( (sizeof (*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && (( PL_charclass[(U8) (*s)] & ((1U << (((c)->flags)) ) | (1U << (14)))) == ((1U << (((c)->flags))) | (1U << (14)))))) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo, &s)))) { goto got_it; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 2839, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2840 | break; | |||
| 2841 | ||||
| 2842 | case NPOSIXU36: | |||
| 2843 | to_complement = 1; | |||
| 2844 | /* FALLTHROUGH */ | |||
| 2845 | ||||
| 2846 | case POSIXU32: | |||
| 2847 | if (! utf8_target) { | |||
| 2848 | REXEC_FBC_CLASS_SCAN(0, /* 0=>not-utf8 */do { while (s < strend) { if (to_complement ^ ((((( (sizeof (*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && (PL_charclass [(U8) (*s)] & (1U << (((c)->flags))))) ? (_Bool) 1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s)))) { goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2850, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2849 | to_complement ^ cBOOL(_generic_isCC(*s,do { while (s < strend) { if (to_complement ^ ((((( (sizeof (*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && (PL_charclass [(U8) (*s)] & (1U << (((c)->flags))))) ? (_Bool) 1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s)))) { goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2850, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2850 | FLAGS(c))))do { while (s < strend) { if (to_complement ^ ((((( (sizeof (*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && (PL_charclass [(U8) (*s)] & (1U << (((c)->flags))))) ? (_Bool) 1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || ( s <= reginfo->strend && S_regtry( reginfo,& s)))) { goto got_it; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2850, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((0) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2851 | } | |||
| 2852 | else { | |||
| 2853 | ||||
| 2854 | posix_utf8: | |||
| 2855 | classnum = (_char_class_number) FLAGS(c)((c)->flags); | |||
| 2856 | switch (classnum) { | |||
| 2857 | default: | |||
| 2858 | REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */do { while (s < strend) { if (to_complement ^ ((S__invlist_contains_cp ( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) ? ( _Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2863, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2859 | to_complement ^ cBOOL(_invlist_contains_cp(do { while (s < strend) { if (to_complement ^ ((S__invlist_contains_cp ( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) ? ( _Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2863, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2860 | PL_XPosix_ptrs[classnum],do { while (s < strend) { if (to_complement ^ ((S__invlist_contains_cp ( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) ? ( _Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2863, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2861 | utf8_to_uvchr_buf((U8 *) s,do { while (s < strend) { if (to_complement ^ ((S__invlist_contains_cp ( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) ? ( _Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2863, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2862 | (U8 *) strend,do { while (s < strend) { if (to_complement ^ ((S__invlist_contains_cp ( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) ? ( _Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2863, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2863 | NULL))))do { while (s < strend) { if (to_complement ^ ((S__invlist_contains_cp ( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) s),(const U8 *) (U8 *) strend,((void*)0)))) ? ( _Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end ) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2 ("re_exec.c", 2863, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2864 | break; | |||
| 2865 | case _CC_ENUM_SPACE: | |||
| 2866 | REXEC_FBC_CLASS_SCAN(1, /* 1=>is-utf8 */do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (10)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2867, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2867, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2867, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (10)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : (__builtin_expect((((strend) - ( s) < PL_utf8skip[*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0), (0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( 0xE1 == ((const U8*)s)[0] ) ? ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8 *)s)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)s)[0] ) ? ( ( 0x80 == ((const U8*)s)[1] ) ? ( ( ((((0x8A) >= (0x80)) ? (void )0 : __assert2("re_exec.c", 2867, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x80 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x80)) | 0)) ) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void )0 : __assert2("re_exec.c", 2867, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x80)) | 0) )) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0)))))))) || ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA8 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA8)) | 0)) ) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void )0 : __assert2("re_exec.c", 2867, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA8)) | 0) )) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ( (const U8*)s)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)s)[ 0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool)0 )) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2867 | to_complement ^ cBOOL(isSPACE_utf8_safe(s, strend)))do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (10)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2867, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2867, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2867, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2867, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (10)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : (__builtin_expect((((strend) - ( s) < PL_utf8skip[*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0), (0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( 0xE1 == ((const U8*)s)[0] ) ? ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8 *)s)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)s)[0] ) ? ( ( 0x80 == ((const U8*)s)[1] ) ? ( ( ((((0x8A) >= (0x80)) ? (void )0 : __assert2("re_exec.c", 2867, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x80 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x80)) | 0)) ) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void )0 : __assert2("re_exec.c", 2867, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x80)) | 0) )) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0)))))))) || ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA8 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA8)) | 0)) ) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void )0 : __assert2("re_exec.c", 2867, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2867, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA8)) | 0) )) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2867, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ( (const U8*)s)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)s)[ 0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool)0 )) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2867, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2868 | break; | |||
| 2869 | ||||
| 2870 | case _CC_ENUM_BLANK: | |||
| 2871 | REXEC_FBC_CLASS_SCAN(1,do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (11)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2872, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2872, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2872, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (11)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : (__builtin_expect((((strend) - ( s) < PL_utf8skip[*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0), (0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( 0xE1 == ((const U8*)s)[0] ) ? ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8 *)s)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)s)[0] ) ? ( ( 0x80 == ((const U8*)s)[1] ) ? ( ( ((((0x8A) >= (0x80)) ? (void )0 : __assert2("re_exec.c", 2872, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x80 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x80)) | 0)) ) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void )0 : __assert2("re_exec.c", 2872, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x80)) | 0) )) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0)))))))) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ( (const U8*)s)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)s)[ 0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool)0 )) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2872 | to_complement ^ cBOOL(isBLANK_utf8_safe(s, strend)))do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (11)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2872, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2872, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2872, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2872, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (11)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : (__builtin_expect((((strend) - ( s) < PL_utf8skip[*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0), (0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( 0xE1 == ((const U8*)s)[0] ) ? ( ( ( 0x9A == ((const U8*)s)[1] ) && ( 0x80 == ((const U8 *)s)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)s)[0] ) ? ( ( 0x80 == ((const U8*)s)[1] ) ? ( ( ((((0x8A) >= (0x80)) ? (void )0 : __assert2("re_exec.c", 2872, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x80 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x80)) | 0)) ) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void )0 : __assert2("re_exec.c", 2872, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2872, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x80)) | 0) )) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 2872, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0)))))))) || 0xAF == ((const U8*)s)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)s)[1] ) && ( 0x9F == ( (const U8*)s)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)s)[ 0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( 0x80 == ((const U8*)s)[2] ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool)0 )) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2872, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2873 | break; | |||
| 2874 | ||||
| 2875 | case _CC_ENUM_XDIGIT: | |||
| 2876 | REXEC_FBC_CLASS_SCAN(1,do { while (s < strend) { if (to_complement ^ (((((((strend ) > (s))) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "((strend) > (s))")), (((((U64)(((UV) (((*(s)) | 0) | 0) ))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof (*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (12)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2877, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) < PL_utf8skip [*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( 0xEF == ((const U8 *)s)[0] ) ? ( ( 0xBC == ((const U8*)s)[1] ) ? ( ( ((((0x99) >= (0x90)) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(0x99) >= (0x90)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x90 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((0x99) - (0x90))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x90)) | 0)) ) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x90)) >= 0) ? (void )0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0x90)) >= 0" )), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0x99) - (0x90))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x90)) | 0) )) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((0x99) - (0x90))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99 ) - (0x90))) | 0)))))))) || ((((0xA6) >= (0xA1)) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(0xA6) >= (0xA1)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA1 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((0xA6) - (0xA1))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA1)) | 0)) ) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA1)) >= 0) ? (void )0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0xA1)) >= 0" )), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0xA6) - (0xA1))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA1)) | 0) )) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6 ) - (0xA1))) | 0)))))))) ) ? 3 : 0 ) : ( ( 0xBD == ((const U8 *)s)[1] ) && ( ((((0x86) >= (0x81)) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(0x86) >= (0x81)")), ( (sizeof (((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x81)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0x81)) >= 0" )), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0x86) - (0x81))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x81)) | 0)) ) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x81)) >= 0) ? (void )0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0x81)) >= 0" )), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0x86) - (0x81))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x81)) | 0) )) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((0x86) - (0x81))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86 ) - (0x81))) | 0)))))))) ) ) ? 3 : 0 ): 0 )))) ? (_Bool)1 : ( _Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2877 | to_complement ^ cBOOL(isXDIGIT_utf8_safe(s, strend)))do { while (s < strend) { if (to_complement ^ (((((((strend ) > (s))) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "((strend) > (s))")), (((((U64)(((UV) (((*(s)) | 0) | 0) ))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof (*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (12)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2877, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) < PL_utf8skip [*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( 0xEF == ((const U8 *)s)[0] ) ? ( ( 0xBC == ((const U8*)s)[1] ) ? ( ( ((((0x99) >= (0x90)) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(0x99) >= (0x90)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x90 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((0x99) - (0x90))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x90)) | 0)) ) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x90)) >= 0) ? (void )0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0x90)) >= 0" )), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0x99) - (0x90))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x90)) | 0) )) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((0x99) - (0x90))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99 ) - (0x90))) | 0)))))))) || ((((0xA6) >= (0xA1)) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(0xA6) >= (0xA1)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA1 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) (((0xA6) - (0xA1))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA1)) | 0)) ) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA1)) >= 0) ? (void )0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0xA1)) >= 0" )), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0xA6) - (0xA1))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA1)) | 0) )) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6 ) - (0xA1))) | 0)))))))) ) ? 3 : 0 ) : ( ( 0xBD == ((const U8 *)s)[1] ) && ( ((((0x86) >= (0x81)) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(0x86) >= (0x81)")), ( (sizeof (((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0x81)) >= 0 ) ? (void)0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0x81)) >= 0" )), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0x86) - (0x81))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0x81)) | 0)) ) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0x81)) >= 0) ? (void )0 : __assert2("re_exec.c", 2877, __func__, "(NV) ((0x81)) >= 0" )), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2877, __func__, "(NV) (((0x86) - (0x81))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0x81)) | 0) )) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c", 2877, __func__ , "(NV) (((0x86) - (0x81))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86 ) - (0x81))) | 0)))))))) ) ) ? 3 : 0 ): 0 )))) ? (_Bool)1 : ( _Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2877, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2878 | break; | |||
| 2879 | ||||
| 2880 | case _CC_ENUM_VERTSPACE: | |||
| 2881 | REXEC_FBC_CLASS_SCAN(1,do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (15)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2882, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2882, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2882, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (15)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : (__builtin_expect((((strend) - ( s) < PL_utf8skip[*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0), (0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA8 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA8)) | 0)) ) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void )0 : __assert2("re_exec.c", 2882, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA8)) | 0) )) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool )0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2882 | to_complement ^ cBOOL(isVERTWS_utf8_safe(s, strend)))do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (15)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2882, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2882, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2882, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2882, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (15)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : (__builtin_expect((((strend) - ( s) < PL_utf8skip[*(const U8*)(s)]) ? (_Bool)1 : (_Bool)0), (0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (s),(U8 *) (strend),0,1), 0) : ( ( ( ( 0xE2 == ((const U8*)s)[0] ) && ( 0x80 == ((const U8*)s)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)s)[2]) == sizeof(U8)) ? ((((NV) ((0xA8 )) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)s)[2])))) - (((0xA8)) | 0)) ) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)s)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? (void )0 : __assert2("re_exec.c", 2882, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 2882, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)s)[2])))) - (((0xA8)) | 0) )) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof((( const U8*)s)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "sizeof(((const U8*)s)[2]) == sizeof(U64)") ), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 2882, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)s)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool )0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo->intuit || (s <= reginfo->strend && S_regtry( reginfo,&s)))) { goto got_it; } s += ((1) ? (( ((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c" , 2882, __func__, "(reginfo->strend) >= (s)")), ((reginfo ->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - ( s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend ) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2883 | break; | |||
| 2884 | ||||
| 2885 | case _CC_ENUM_CNTRL: | |||
| 2886 | REXEC_FBC_CLASS_SCAN(1,do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (13)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2887, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2887, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2887, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (13)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : 0))) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo ->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(reginfo->strend) >= (s)")), ((reginfo-> strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s))) <(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend) - ( s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0) | |||
| 2887 | to_complement ^ cBOOL(isCNTRL_utf8_safe(s, strend)))do { while (s < strend) { if (to_complement ^ ((((! ((strend ) > (s))) ? (Perl__force_out_malformed_utf8_message( (U8 * ) (s),(U8 *) (strend),0,1), 0) : (((((U64)(((UV) (((*(s)) | 0 ) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(s))] & (1U << (13)))) ? (_Bool )1 : (_Bool)0) : ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((strend) - (s) > 1 && (((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1)) == 1) || !(((U64)((*((s)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(s)) == 1) || !(((U64 )((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2887, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2887, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((* (s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)(( *(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "(((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"sizeof((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 2887, __func__, \\\"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\\\")), ((U8) ((*(s)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"(NV) (((((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) ((((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 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(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__ , "( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "(((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*((s)+1 )) == 1) || !(((U64)((*((s)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((s)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)( ((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))\")), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 2887, __func__, \"( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*(( s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 2887, __func__, "( (sizeof(*(s)) == 1) || !(((U64)((*(s)) | 0)) & ~0xFF))" )), ((U8) ((*(s)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 2887, __func__, "( (sizeof((*((s)+1 ))) == 1) || !(((U64)(((*((s)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((s)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (13)))) ? (_Bool)1 : ( _Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) (s ),(U8 *) (strend),0,1), 0)) : 0))) ? (_Bool)1 : (_Bool)0)) { if ( ( doevery || s != previous_occurrence_end) && ( reginfo ->intuit || (s <= reginfo->strend && S_regtry ( reginfo,&s)))) { goto got_it; } s += ((1) ? ((((reginfo ->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 2887 , __func__, "(reginfo->strend) >= (s)")), ((reginfo-> strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s))) <(PL_utf8skip[*(const U8*)(s)]))?(((reginfo->strend) - ( s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); previous_occurrence_end = s; } else { s += ((1) ? PL_utf8skip[*(const U8*)(s)] : 1); } } } while (0); | |||
| 2888 | break; | |||
| 2889 | } | |||
| 2890 | } | |||
| 2891 | break; | |||
| 2892 | ||||
| 2893 | case AHOCORASICKC91: | |||
| 2894 | case AHOCORASICK90: | |||
| 2895 | { | |||
| 2896 | DECL_TRIE_TYPE(c)const enum { trie_plain, trie_utf8, trie_utf8_fold, trie_latin_utf8_fold , trie_utf8_exactfa_fold, trie_latin_utf8_exactfa_fold, trie_utf8l , trie_flu8, trie_flu8_latin } trie_type = ((c->flags == 40 ) ? (utf8_target ? trie_utf8 : trie_plain) : (c->flags == 42 ) ? (utf8_target ? trie_utf8l : trie_plain) : (c->flags == 46) ? (utf8_target ? trie_utf8_exactfa_fold : trie_latin_utf8_exactfa_fold ) : (c->flags == 48 ? (utf8_target ? trie_flu8 : trie_flu8_latin ) : (utf8_target ? trie_utf8_fold : trie_latin_utf8_fold))); | |||
| 2897 | /* what trie are we using right now */ | |||
| 2898 | reg_ac_data *aho = (reg_ac_data*)progi->data->data[ ARG( c )((((struct regnode_1 *)c)->arg1)) ]; | |||
| 2899 | reg_trie_data *trie = (reg_trie_data*)progi->data->data[ aho->trie ]; | |||
| 2900 | HV *widecharmap = MUTABLE_HV(progi->data->data[ aho->trie + 1 ])((HV *)({ void *_p = (progi->data->data[ aho->trie + 1 ]); _p; })); | |||
| 2901 | ||||
| 2902 | const char *last_start = strend - trie->minlen; | |||
| 2903 | #ifdef DEBUGGING | |||
| 2904 | const char *real_start = s; | |||
| 2905 | #endif | |||
| 2906 | STRLEN maxlen = trie->maxlen; | |||
| 2907 | SV *sv_points; | |||
| 2908 | U8 **points; /* map of where we were in the input string | |||
| 2909 | when reading a given char. For ASCII this | |||
| 2910 | is unnecessary overhead as the relationship | |||
| 2911 | is always 1:1, but for Unicode, especially | |||
| 2912 | case folded Unicode this is not true. */ | |||
| 2913 | U8 foldbuf[ 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 ]; | |||
| 2914 | U8 *bitmap=NULL((void*)0); | |||
| 2915 | ||||
| 2916 | ||||
| 2917 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 2917, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 2917, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 2918 | ||||
| 2919 | /* We can't just allocate points here. We need to wrap it in | |||
| 2920 | * an SV so it gets freed properly if there is a croak while | |||
| 2921 | * running the match */ | |||
| 2922 | ENTERdo { Perl_push_scope(); if (__builtin_expect(((PL_debug & 0x00000004) ? (_Bool)1 : (_Bool)0),(0))) Perl_deb( "%s scope %ld (savestack=%ld) at %s:%d\n" , "ENTER", (long)PL_scopestack_ix, (long)PL_savestack_ix, "re_exec.c" , 2922); } while (0); | |||
| 2923 | SAVETMPSPerl_savetmps(); | |||
| 2924 | sv_points=newSV(maxlen * sizeof(U8 *))Perl_newSV( maxlen * sizeof(U8 *)); | |||
| 2925 | SvCUR_set(sv_points,do { ((PL_valid_types_PVX[((svtype)((sv_points)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 2926, __func__, "PL_valid_types_PVX[SvTYPE(sv_points) & SVt_MASK]" )); ((!((((sv_points)->sv_flags & (0x00004000|0x00008000 )) == 0x00008000) && (((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c" , 2926, __func__, "!isGV_with_GP(sv_points)")); ((!(((svtype) ((sv_points)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (sv_points)->sv_any)->xio_flags & 64)) ) ? (void)0 : __assert2("re_exec.c", 2926, __func__, "!(SvTYPE(sv_points) == SVt_PVIO && !(IoFLAGS(sv_points) & IOf_FAKE_DIRP))" )); (((XPV*) (sv_points)->sv_any)->xpv_cur = (maxlen * sizeof (U8 *))); } while (0) | |||
| 2926 | maxlen * sizeof(U8 *))do { ((PL_valid_types_PVX[((svtype)((sv_points)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 2926, __func__, "PL_valid_types_PVX[SvTYPE(sv_points) & SVt_MASK]" )); ((!((((sv_points)->sv_flags & (0x00004000|0x00008000 )) == 0x00008000) && (((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c" , 2926, __func__, "!isGV_with_GP(sv_points)")); ((!(((svtype) ((sv_points)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (sv_points)->sv_any)->xio_flags & 64)) ) ? (void)0 : __assert2("re_exec.c", 2926, __func__, "!(SvTYPE(sv_points) == SVt_PVIO && !(IoFLAGS(sv_points) & IOf_FAKE_DIRP))" )); (((XPV*) (sv_points)->sv_any)->xpv_cur = (maxlen * sizeof (U8 *))); } while (0); | |||
| 2927 | SvPOK_on(sv_points)(((!((sv_points)->sv_flags & 0x00000800) || !(*({ SV * const _svrv = ((SV *)({ void *_p = (sv_points); _p; })); ((PL_valid_types_RV [((svtype)((_svrv)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 2927, __func__, "PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]" )); ((!((((_svrv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svrv)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 2927, __func__ , "!isGV_with_GP(_svrv)")); ((!(((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svrv)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 2927, __func__, "!(SvTYPE(_svrv) == SVt_PVIO && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))" )); &((_svrv)->sv_u.svu_rv); }))) ? (void)0 : __assert2 ("re_exec.c", 2927, __func__, "!((sv_points)->sv_flags & 0x00000800) || !(*({ SV *const _svrv = ((SV *)({ void *_p = (sv_points); _p; })); ((PL_valid_types_RV[((svtype)((_svrv)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2(\"re_exec.c\", 2927, __func__, \"PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]\")); ((!((((_svrv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVLV))) ? (void)0 : __assert2(\"re_exec.c\", 2927, __func__, \"!isGV_with_GP(_svrv)\")); ((!(((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svrv)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2(\"re_exec.c\", 2927, __func__, \"!(SvTYPE(_svrv) == SVt_PVIO && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))\")); &((_svrv)->sv_u.svu_rv); }))" )), ((!((((sv_points)->sv_flags & (0x00004000|0x00008000 )) == 0x00008000) && (((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c" , 2927, __func__, "!((((sv_points)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((sv_points)->sv_flags & 0xff)) == SVt_PVLV))" )), (sv_points)->sv_flags |= (0x00000400|0x00004000)); | |||
| 2928 | sv_2mortal(sv_points)Perl_sv_2mortal( sv_points); | |||
| 2929 | points=(U8**)SvPV_nolen(sv_points )((((sv_points)->sv_flags & (0x00000400|0x00200000)) == 0x00000400) ? (*({ SV *const _svpvx = ((SV *)({ void *_p = ( sv_points); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 2929, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 2929, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 2929, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); })) : Perl_sv_2pv_flags( sv_points,0,2)); | |||
| 2930 | if ( trie_type != trie_utf8_fold | |||
| 2931 | && (trie->bitmap || OP(c)((c)->type)==AHOCORASICKC91) ) | |||
| 2932 | { | |||
| 2933 | if (trie->bitmap) | |||
| 2934 | bitmap=(U8*)trie->bitmap; | |||
| 2935 | else | |||
| 2936 | bitmap=(U8*)ANYOF_BITMAP(c)((regnode_charclass*)(c))->bitmap; | |||
| 2937 | } | |||
| 2938 | /* this is the Aho-Corasick algorithm modified a touch | |||
| 2939 | to include special handling for long "unknown char" sequences. | |||
| 2940 | The basic idea being that we use AC as long as we are dealing | |||
| 2941 | with a possible matching char, when we encounter an unknown char | |||
| 2942 | (and we have not encountered an accepting state) we scan forward | |||
| 2943 | until we find a legal starting char. | |||
| 2944 | AC matching is basically that of trie matching, except that when | |||
| 2945 | we encounter a failing transition, we fall back to the current | |||
| 2946 | states "fail state", and try the current char again, a process | |||
| 2947 | we repeat until we reach the root state, state 1, or a legal | |||
| 2948 | transition. If we fail on the root state then we can either | |||
| 2949 | terminate if we have reached an accepting state previously, or | |||
| 2950 | restart the entire process from the beginning if we have not. | |||
| 2951 | ||||
| 2952 | */ | |||
| 2953 | while (s <= last_start) { | |||
| 2954 | const U32 uniflags = UTF8_ALLOW_DEFAULT0; | |||
| 2955 | U8 *uc = (U8*)s; | |||
| 2956 | U16 charid = 0; | |||
| 2957 | U32 base = 1; | |||
| 2958 | U32 state = 1; | |||
| 2959 | UV uvc = 0; | |||
| 2960 | STRLEN len = 0; | |||
| 2961 | STRLEN foldlen = 0; | |||
| 2962 | U8 *uscan = (U8*)NULL((void*)0); | |||
| 2963 | U8 *leftmost = NULL((void*)0); | |||
| 2964 | #ifdef DEBUGGING | |||
| 2965 | U32 accepted_word= 0; | |||
| 2966 | #endif | |||
| 2967 | U32 pointpos = 0; | |||
| 2968 | ||||
| 2969 | while ( state && uc <= (U8*)strend ) { | |||
| 2970 | int failed=0; | |||
| 2971 | U32 word = aho->states[ state ].wordnum; | |||
| 2972 | ||||
| 2973 | if( state==1 ) { | |||
| 2974 | if ( bitmap ) { | |||
| 2975 | DEBUG_TRIE_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0) | |||
| 2976 | if ( uc <= (U8*)last_start && !BITMAP_TEST(bitmap,*uc) ) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0) | |||
| 2977 | dump_exec_pos( (char *)uc, c, strend, real_start,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0) | |||
| 2978 | (char *)uc, utf8_target, 0 );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0) | |||
| 2979 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0) | |||
| 2980 | " Scanning for legal start char...\n");do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0) | |||
| 2981 | }do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0) | |||
| 2982 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) if ( uc <= (U8*)last_start && !((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { S_dump_exec_pos( (char *)uc,c,strend,real_start,(char *)uc,utf8_target,0); Perl_re_printf( " Scanning for legal start char...\n" ); };} while (0); | |||
| 2983 | if (utf8_target) { | |||
| 2984 | while ( uc <= (U8*)last_start && !BITMAP_TEST(bitmap,*uc)((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { | |||
| 2985 | uc += UTF8SKIP(uc)PL_utf8skip[*(const U8*)(uc)]; | |||
| 2986 | } | |||
| 2987 | } else { | |||
| 2988 | while ( uc <= (U8*)last_start && !BITMAP_TEST(bitmap,*uc)((( (U8*) bitmap) [ ( ( (UV) (*uc)) >> 3) ] ) & (1U << (((U8)*uc) & 7))) ) { | |||
| 2989 | uc++; | |||
| 2990 | } | |||
| 2991 | } | |||
| 2992 | s= (char *)uc; | |||
| 2993 | } | |||
| 2994 | if (uc >(U8*)last_start) break; | |||
| 2995 | } | |||
| 2996 | ||||
| 2997 | if ( word ) { | |||
| 2998 | U8 *lpos= points[ (pointpos - trie->wordinfo[word].len) % maxlen ]; | |||
| 2999 | if (!leftmost || lpos < leftmost) { | |||
| 3000 | DEBUG_r(accepted_word=word)do {accepted_word=word;} while (0); | |||
| 3001 | leftmost= lpos; | |||
| 3002 | } | |||
| 3003 | if (base==0) break; | |||
| 3004 | ||||
| 3005 | } | |||
| 3006 | points[pointpos++ % maxlen]= uc; | |||
| 3007 | if (foldlen || uc < (U8*)strend) { | |||
| 3008 | REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) strend,foldbuf,&foldlen,flags); len = (((((U8 *) strend ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "((U8 *) strend) >= (uc)")), (((U8 *) strend) - (uc)) <= 0 ? 0 : ((((((U8 *) strend) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) strend) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) strend - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3011, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0) | |||
| 3009 | (U8 *) strend, uscan, len, uvc,do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) strend,foldbuf,&foldlen,flags); len = (((((U8 *) strend ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "((U8 *) strend) >= (uc)")), (((U8 *) strend) - (uc)) <= 0 ? 0 : ((((((U8 *) strend) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) strend) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) strend - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3011, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0) | |||
| 3010 | charid, foldlen, foldbuf,do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) strend,foldbuf,&foldlen,flags); len = (((((U8 *) strend ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "((U8 *) strend) >= (uc)")), (((U8 *) strend) - (uc)) <= 0 ? 0 : ((((((U8 *) strend) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) strend) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) strend - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3011, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0) | |||
| 3011 | uniflags)do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) strend,foldbuf,&foldlen,flags); len = (((((U8 *) strend ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "((U8 *) strend) >= (uc)")), (((U8 *) strend) - (uc)) <= 0 ? 0 : ((((((U8 *) strend) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) strend) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 3011, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) strend),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) strend - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3011, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3011, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0); | |||
| 3012 | DEBUG_TRIE_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,c,strend,real_start,s,utf8_target,0); Perl_re_printf ( " Charid:%3u CP:%4" "lx" " ", charid, uvc); };} while (0) | |||
| 3013 | dump_exec_pos( (char *)uc, c, strend,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,c,strend,real_start,s,utf8_target,0); Perl_re_printf ( " Charid:%3u CP:%4" "lx" " ", charid, uvc); };} while (0) | |||
| 3014 | real_start, s, utf8_target, 0);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,c,strend,real_start,s,utf8_target,0); Perl_re_printf ( " Charid:%3u CP:%4" "lx" " ", charid, uvc); };} while (0) | |||
| 3015 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,c,strend,real_start,s,utf8_target,0); Perl_re_printf ( " Charid:%3u CP:%4" "lx" " ", charid, uvc); };} while (0) | |||
| 3016 | " Charid:%3u CP:%4" UVxf " ",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,c,strend,real_start,s,utf8_target,0); Perl_re_printf ( " Charid:%3u CP:%4" "lx" " ", charid, uvc); };} while (0) | |||
| 3017 | charid, uvc);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,c,strend,real_start,s,utf8_target,0); Perl_re_printf ( " Charid:%3u CP:%4" "lx" " ", charid, uvc); };} while (0) | |||
| 3018 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,c,strend,real_start,s,utf8_target,0); Perl_re_printf ( " Charid:%3u CP:%4" "lx" " ", charid, uvc); };} while (0); | |||
| 3019 | } | |||
| 3020 | else { | |||
| 3021 | len = 0; | |||
| 3022 | charid = 0; | |||
| 3023 | } | |||
| 3024 | ||||
| 3025 | ||||
| 3026 | do { | |||
| 3027 | #ifdef DEBUGGING | |||
| 3028 | word = aho->states[ state ].wordnum; | |||
| 3029 | #endif | |||
| 3030 | base = aho->states[ state ].trans.base; | |||
| 3031 | ||||
| 3032 | DEBUG_TRIE_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3033 | if (failed)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3034 | dump_exec_pos( (char *)uc, c, strend, real_start,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3035 | s, utf8_target, 0 );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3036 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3037 | "%sState: %4" UVxf ", word=%" UVxf,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3038 | failed ? " Fail transition to " : "",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3039 | (UV)state, (UV)word);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0) | |||
| 3040 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { if (failed) S_dump_exec_pos( (char *)uc,c,strend,real_start,s,utf8_target ,0); Perl_re_printf( "%sState: %4" "lx" ", word=%" "lx", failed ? " Fail transition to " : "", (UV)state, (UV)word); };} while (0); | |||
| 3041 | if ( base ) { | |||
| 3042 | U32 tmp; | |||
| 3043 | I32 offset; | |||
| 3044 | if (charid && | |||
| 3045 | ( ((offset = base + charid | |||
| 3046 | - 1 - trie->uniquecharcount)) >= 0) | |||
| 3047 | && ((U32)offset < trie->lasttrans) | |||
| 3048 | && trie->trans[offset].check == state | |||
| 3049 | && (tmp=trie->trans[offset].next)) | |||
| 3050 | { | |||
| 3051 | DEBUG_TRIE_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( " - legal\n");} while (0) | |||
| 3052 | Perl_re_printf( aTHX_ " - legal\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( " - legal\n");} while (0); | |||
| 3053 | state = tmp; | |||
| 3054 | break; | |||
| 3055 | } | |||
| 3056 | else { | |||
| 3057 | DEBUG_TRIE_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( " - fail\n");} while (0) | |||
| 3058 | Perl_re_printf( aTHX_ " - fail\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( " - fail\n");} while (0); | |||
| 3059 | failed = 1; | |||
| 3060 | state = aho->fail[state]; | |||
| 3061 | } | |||
| 3062 | } | |||
| 3063 | else { | |||
| 3064 | /* we must be accepting here */ | |||
| 3065 | DEBUG_TRIE_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( " - accepting\n");} while (0) | |||
| 3066 | Perl_re_printf( aTHX_ " - accepting\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( " - accepting\n");} while (0); | |||
| 3067 | failed = 1; | |||
| 3068 | break; | |||
| 3069 | } | |||
| 3070 | } while(state); | |||
| 3071 | uc += len; | |||
| 3072 | if (failed) { | |||
| 3073 | if (leftmost) | |||
| 3074 | break; | |||
| 3075 | if (!state) state = 1; | |||
| 3076 | } | |||
| 3077 | } | |||
| 3078 | if ( aho->states[ state ].wordnum ) { | |||
| 3079 | U8 *lpos = points[ (pointpos - trie->wordinfo[aho->states[ state ].wordnum].len) % maxlen ]; | |||
| 3080 | if (!leftmost || lpos < leftmost) { | |||
| 3081 | DEBUG_r(accepted_word=aho->states[ state ].wordnum)do {accepted_word=aho->states[ state ].wordnum;} while (0); | |||
| 3082 | leftmost = lpos; | |||
| 3083 | } | |||
| 3084 | } | |||
| 3085 | if (leftmost) { | |||
| 3086 | s = (char*)leftmost; | |||
| 3087 | DEBUG_TRIE_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Matches word #%" "lx" " at position %" "ld" ". Trying full pattern...\n" , (UV)accepted_word, (IV)(s - real_start) ); };} while (0) | |||
| 3088 | Perl_re_printf( aTHX_ "Matches word #%" UVxf " at position %" IVdf ". Trying full pattern...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Matches word #%" "lx" " at position %" "ld" ". Trying full pattern...\n" , (UV)accepted_word, (IV)(s - real_start) ); };} while (0) | |||
| 3089 | (UV)accepted_word, (IV)(s - real_start)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Matches word #%" "lx" " at position %" "ld" ". Trying full pattern...\n" , (UV)accepted_word, (IV)(s - real_start) ); };} while (0) | |||
| 3090 | );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Matches word #%" "lx" " at position %" "ld" ". Trying full pattern...\n" , (UV)accepted_word, (IV)(s - real_start) ); };} while (0) | |||
| 3091 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Matches word #%" "lx" " at position %" "ld" ". Trying full pattern...\n" , (UV)accepted_word, (IV)(s - real_start) ); };} while (0); | |||
| 3092 | if (reginfo->intuit || regtry(reginfo, &s)S_regtry( reginfo,&s)) { | |||
| 3093 | FREETMPSif (PL_tmps_ix > PL_tmps_floor) Perl_free_tmps(); | |||
| 3094 | LEAVEdo { if (__builtin_expect(((PL_debug & 0x00000004) ? (_Bool )1 : (_Bool)0),(0))) Perl_deb( "%s scope %ld (savestack=%ld) at %s:%d\n" , "LEAVE", (long)PL_scopestack_ix, (long)PL_savestack_ix, "re_exec.c" , 3094); Perl_pop_scope(); } while (0); | |||
| 3095 | goto got_it; | |||
| 3096 | } | |||
| 3097 | if (s < reginfo->strend) { | |||
| 3098 | s = HOPc(s,1)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)s, 1, (U8 *)(1 >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8 *)(s + 1)); | |||
| 3099 | } | |||
| 3100 | DEBUG_TRIE_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Pattern failed. Looking for new start point...\n"); };} while (0) | |||
| 3101 | Perl_re_printf( aTHX_ "Pattern failed. Looking for new start point...\n");do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Pattern failed. Looking for new start point...\n"); };} while (0) | |||
| 3102 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { Perl_re_printf ( "Pattern failed. Looking for new start point...\n"); };} while (0); | |||
| 3103 | } else { | |||
| 3104 | DEBUG_TRIE_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( "No match.\n");} while (0) | |||
| 3105 | Perl_re_printf( aTHX_ "No match.\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( "No match.\n");} while (0); | |||
| 3106 | break; | |||
| 3107 | } | |||
| 3108 | } | |||
| 3109 | FREETMPSif (PL_tmps_ix > PL_tmps_floor) Perl_free_tmps(); | |||
| 3110 | LEAVEdo { if (__builtin_expect(((PL_debug & 0x00000004) ? (_Bool )1 : (_Bool)0),(0))) Perl_deb( "%s scope %ld (savestack=%ld) at %s:%d\n" , "LEAVE", (long)PL_scopestack_ix, (long)PL_savestack_ix, "re_exec.c" , 3110); Perl_pop_scope(); } while (0); | |||
| 3111 | } | |||
| 3112 | break; | |||
| 3113 | default: | |||
| 3114 | Perl_croak(aTHX_ "panic: unknown regstclass %d", (int)OP(c)((c)->type)); | |||
| 3115 | } | |||
| 3116 | return 0; | |||
| 3117 | got_it: | |||
| 3118 | return s; | |||
| 3119 | } | |||
| 3120 | ||||
| 3121 | /* set RX_SAVED_COPY, RX_SUBBEG etc. | |||
| 3122 | * flags have same meanings as with regexec_flags() */ | |||
| 3123 | ||||
| 3124 | static void | |||
| 3125 | S_reg_set_capture_string(pTHX_ REGEXP * const rx, | |||
| 3126 | char *strbeg, | |||
| 3127 | char *strend, | |||
| 3128 | SV *sv, | |||
| 3129 | U32 flags, | |||
| 3130 | bool_Bool utf8_target) | |||
| 3131 | { | |||
| 3132 | struct regexp *const prog = ReANY(rx)Perl_ReANY((const REGEXP *)(rx)); | |||
| 3133 | ||||
| 3134 | if (flags & REXEC_COPY_STR0x01) { | |||
| 3135 | #ifdef PERL_ANY_COW | |||
| 3136 | if (SvCANCOW(sv)(((sv)->sv_flags & 0x10000000) ? ((XPV*) (sv)->sv_any )->xpv_len_u.xpvlenu_len ? (*(U8 *)((*({ SV *const _svpvx = ((SV *)({ void *_p = (sv); _p; })); ((PL_valid_types_PVX[((svtype )((_svpvx)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 3136, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3136, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3136, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))+((XPV*) (sv)->sv_any )->xpv_len_u.xpvlenu_len-1)) != ((1 << sizeof(U8)*8) - 1) : 1 : ((sv)->sv_flags & (0x00000400|0x00000800|0x00004000 |0x01000000| 0x02000000|0x04000000|0x08000000|0x00010000)) == (0x00004000|0x00000400) && (*({ const SV *const _svcur = (const SV *)(sv); ((PL_valid_types_PVX[((svtype)((_svcur)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3136, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3136, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3136, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))+1 < ((XPV*) (sv)->sv_any)->xpv_len_u .xpvlenu_len)) { | |||
| 3137 | DEBUG_C(Perl_re_printf( aTHX_do { if (__builtin_expect(((PL_debug & 0x00200000) ? (_Bool )1 : (_Bool)0),(0))) do {Perl_re_printf( "Copy on write: regexp capture, type %d\n" , (int) ((svtype)((sv)->sv_flags & 0xff)));} while (0) ; } while (0) | |||
| 3138 | "Copy on write: regexp capture, type %d\n",do { if (__builtin_expect(((PL_debug & 0x00200000) ? (_Bool )1 : (_Bool)0),(0))) do {Perl_re_printf( "Copy on write: regexp capture, type %d\n" , (int) ((svtype)((sv)->sv_flags & 0xff)));} while (0) ; } while (0) | |||
| 3139 | (int) SvTYPE(sv)))do { if (__builtin_expect(((PL_debug & 0x00200000) ? (_Bool )1 : (_Bool)0),(0))) do {Perl_re_printf( "Copy on write: regexp capture, type %d\n" , (int) ((svtype)((sv)->sv_flags & 0xff)));} while (0) ; } while (0); | |||
| 3140 | /* Create a new COW SV to share the match string and store | |||
| 3141 | * in saved_copy, unless the current COW SV in saved_copy | |||
| 3142 | * is valid and suitable for our purpose */ | |||
| 3143 | if (( prog->saved_copy | |||
| 3144 | && SvIsCOW(prog->saved_copy)((prog->saved_copy)->sv_flags & 0x10000000) | |||
| 3145 | && SvPOKp(prog->saved_copy)((prog->saved_copy)->sv_flags & 0x00004000) | |||
| 3146 | && SvIsCOW(sv)((sv)->sv_flags & 0x10000000) | |||
| 3147 | && SvPOKp(sv)((sv)->sv_flags & 0x00004000) | |||
| 3148 | && SvPVX(sv)(*({ SV *const _svpvx = ((SV *)({ void *_p = (sv); _p; })); ( (PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 3148, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 3148, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 3148, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); })) == SvPVX(prog->saved_copy)(*({ SV *const _svpvx = ((SV *)({ void *_p = (prog->saved_copy ); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 3148, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3148, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3148, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); })))) | |||
| 3149 | { | |||
| 3150 | /* just reuse saved_copy SV */ | |||
| 3151 | if (RXp_MATCH_COPIED(prog)(((prog)->extflags) & (1U<<(((0 +12) + 2)+11)))) { | |||
| 3152 | Safefree(prog->subbeg)Perl_safesysfree(((void *)(prog->subbeg))); | |||
| 3153 | RXp_MATCH_COPIED_off(prog)(((prog)->extflags) &= ~(1U<<(((0 +12) + 2)+11)) ); | |||
| 3154 | } | |||
| 3155 | } | |||
| 3156 | else { | |||
| 3157 | /* create new COW SV to share string */ | |||
| 3158 | RXp_MATCH_COPY_FREE(prog)do {if ((prog->saved_copy)) { if ((((prog->saved_copy)) ->sv_flags & (0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000))) Perl_sv_force_normal_flags( (prog-> saved_copy),4); } if ((((prog)->extflags) & (1U<< (((0 +12) + 2)+11)))) { Perl_safesysfree(((void *)((prog-> subbeg)))); (((prog)->extflags) &= ~(1U<<(((0 +12 ) + 2)+11))); }} while (0); | |||
| 3159 | prog->saved_copy = sv_setsv_cow(prog->saved_copy, sv)Perl_sv_setsv_cow( prog->saved_copy,sv); | |||
| 3160 | } | |||
| 3161 | prog->subbeg = (char *)SvPVX_const(prog->saved_copy)((const char*)(0 + (prog->saved_copy)->sv_u.svu_pv)); | |||
| 3162 | assert (SvPOKp(prog->saved_copy))((((prog->saved_copy)->sv_flags & 0x00004000)) ? (void )0 : __assert2("re_exec.c", 3162, __func__, "SvPOKp(prog->saved_copy)" )); | |||
| 3163 | prog->sublen = strend - strbeg; | |||
| 3164 | prog->suboffset = 0; | |||
| 3165 | prog->subcoffset = 0; | |||
| 3166 | } else | |||
| 3167 | #endif | |||
| 3168 | { | |||
| 3169 | SSize_tssize_t min = 0; | |||
| 3170 | SSize_tssize_t max = strend - strbeg; | |||
| 3171 | SSize_tssize_t sublen; | |||
| 3172 | ||||
| 3173 | if ( (flags & REXEC_COPY_SKIP_POST0x40) | |||
| 3174 | && !(prog->extflags & RXf_PMf_KEEPCOPY(1U << (0 +6))) /* //p */ | |||
| 3175 | && !(PL_sawampersand(1|2|4) & SAWAMPERSAND_RIGHT4) | |||
| 3176 | ) { /* don't copy $' part of string */ | |||
| 3177 | U32 n = 0; | |||
| 3178 | max = -1; | |||
| 3179 | /* calculate the right-most part of the string covered | |||
| 3180 | * by a capture. Due to lookahead, this may be to | |||
| 3181 | * the right of $&, so we have to scan all captures */ | |||
| 3182 | while (n <= prog->lastparen) { | |||
| 3183 | if (prog->offs[n].end > max) | |||
| 3184 | max = prog->offs[n].end; | |||
| 3185 | n++; | |||
| 3186 | } | |||
| 3187 | if (max == -1) | |||
| 3188 | max = (PL_sawampersand(1|2|4) & SAWAMPERSAND_LEFT1) | |||
| 3189 | ? prog->offs[0].start | |||
| 3190 | : 0; | |||
| 3191 | assert(max >= 0 && max <= strend - strbeg)((max >= 0 && max <= strend - strbeg) ? (void)0 : __assert2("re_exec.c", 3191, __func__, "max >= 0 && max <= strend - strbeg" )); | |||
| 3192 | } | |||
| 3193 | ||||
| 3194 | if ( (flags & REXEC_COPY_SKIP_PRE0x20) | |||
| 3195 | && !(prog->extflags & RXf_PMf_KEEPCOPY(1U << (0 +6))) /* //p */ | |||
| 3196 | && !(PL_sawampersand(1|2|4) & SAWAMPERSAND_LEFT1) | |||
| 3197 | ) { /* don't copy $` part of string */ | |||
| 3198 | U32 n = 0; | |||
| 3199 | min = max; | |||
| 3200 | /* calculate the left-most part of the string covered | |||
| 3201 | * by a capture. Due to lookbehind, this may be to | |||
| 3202 | * the left of $&, so we have to scan all captures */ | |||
| 3203 | while (min && n <= prog->lastparen) { | |||
| 3204 | if ( prog->offs[n].start != -1 | |||
| 3205 | && prog->offs[n].start < min) | |||
| 3206 | { | |||
| 3207 | min = prog->offs[n].start; | |||
| 3208 | } | |||
| 3209 | n++; | |||
| 3210 | } | |||
| 3211 | if ((PL_sawampersand(1|2|4) & SAWAMPERSAND_RIGHT4) | |||
| 3212 | && min > prog->offs[0].end | |||
| 3213 | ) | |||
| 3214 | min = prog->offs[0].end; | |||
| 3215 | ||||
| 3216 | } | |||
| 3217 | ||||
| 3218 | assert(min >= 0 && min <= max && min <= strend - strbeg)((min >= 0 && min <= max && min <= strend - strbeg) ? (void)0 : __assert2("re_exec.c", 3218, __func__, "min >= 0 && min <= max && min <= strend - strbeg" )); | |||
| 3219 | sublen = max - min; | |||
| 3220 | ||||
| 3221 | if (RXp_MATCH_COPIED(prog)(((prog)->extflags) & (1U<<(((0 +12) + 2)+11)))) { | |||
| 3222 | if (sublen > prog->sublen) | |||
| 3223 | prog->subbeg = | |||
| 3224 | (char*)safereallocPerl_safesysrealloc(prog->subbeg, sublen+1); | |||
| 3225 | } | |||
| 3226 | else | |||
| 3227 | prog->subbeg = (char*)safemallocPerl_safesysmalloc(sublen+1); | |||
| 3228 | Copy(strbeg + min, prog->subbeg, sublen, char)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(sublen ) || sizeof(char) > ((size_t)1 << 8*(sizeof(size_t) - sizeof(sublen)))) ? (size_t)(sublen) : ((size_t)-1)/sizeof(char )) > ((size_t)-1)/sizeof(char))) ? (_Bool)1 : (_Bool)0),(0 )) && (Perl_croak_memory_wrap(),0)), ((((void*)(prog-> subbeg)) != 0) ? (void)0 : __assert2("re_exec.c", 3228, __func__ , "((void*)(prog->subbeg)) != 0")), ((((void*)(strbeg + min )) != 0) ? (void)0 : __assert2("re_exec.c", 3228, __func__, "((void*)(strbeg + min)) != 0" )), (void)memcpy((char*)(prog->subbeg),(const char*)(strbeg + min), (sublen) * sizeof(char))); | |||
| 3229 | prog->subbeg[sublen] = '\0'; | |||
| 3230 | prog->suboffset = min; | |||
| 3231 | prog->sublen = sublen; | |||
| 3232 | RXp_MATCH_COPIED_on(prog)(((prog)->extflags) |= (1U<<(((0 +12) + 2)+11))); | |||
| 3233 | } | |||
| 3234 | prog->subcoffset = prog->suboffset; | |||
| 3235 | if (prog->suboffset && utf8_target) { | |||
| 3236 | /* Convert byte offset to chars. | |||
| 3237 | * XXX ideally should only compute this if @-/@+ | |||
| 3238 | * has been seen, a la PL_sawampersand ??? */ | |||
| 3239 | ||||
| 3240 | /* If there's a direct correspondence between the | |||
| 3241 | * string which we're matching and the original SV, | |||
| 3242 | * then we can use the utf8 len cache associated with | |||
| 3243 | * the SV. In particular, it means that under //g, | |||
| 3244 | * sv_pos_b2u() will use the previously cached | |||
| 3245 | * position to speed up working out the new length of | |||
| 3246 | * subcoffset, rather than counting from the start of | |||
| 3247 | * the string each time. This stops | |||
| 3248 | * $x = "\x{100}" x 1E6; 1 while $x =~ /(.)/g; | |||
| 3249 | * from going quadratic */ | |||
| 3250 | if (SvPOKp(sv)((sv)->sv_flags & 0x00004000) && SvPVX(sv)(*({ SV *const _svpvx = ((SV *)({ void *_p = (sv); _p; })); ( (PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 3250, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 3250, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 3250, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); })) == strbeg) | |||
| 3251 | prog->subcoffset = sv_pos_b2u_flags(sv, prog->subcoffset,Perl_sv_pos_b2u_flags( sv,prog->subcoffset,2|32) | |||
| 3252 | SV_GMAGIC|SV_CONST_RETURN)Perl_sv_pos_b2u_flags( sv,prog->subcoffset,2|32); | |||
| 3253 | else | |||
| 3254 | prog->subcoffset = utf8_length((U8*)strbeg,Perl_utf8_length( (U8*)strbeg,(U8*)(strbeg+prog->suboffset )) | |||
| 3255 | (U8*)(strbeg+prog->suboffset))Perl_utf8_length( (U8*)strbeg,(U8*)(strbeg+prog->suboffset )); | |||
| 3256 | } | |||
| 3257 | } | |||
| 3258 | else { | |||
| 3259 | RXp_MATCH_COPY_FREE(prog)do {if ((prog->saved_copy)) { if ((((prog->saved_copy)) ->sv_flags & (0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000))) Perl_sv_force_normal_flags( (prog-> saved_copy),4); } if ((((prog)->extflags) & (1U<< (((0 +12) + 2)+11)))) { Perl_safesysfree(((void *)((prog-> subbeg)))); (((prog)->extflags) &= ~(1U<<(((0 +12 ) + 2)+11))); }} while (0); | |||
| 3260 | prog->subbeg = strbeg; | |||
| 3261 | prog->suboffset = 0; | |||
| 3262 | prog->subcoffset = 0; | |||
| 3263 | prog->sublen = strend - strbeg; | |||
| 3264 | } | |||
| 3265 | } | |||
| 3266 | ||||
| 3267 | ||||
| 3268 | ||||
| 3269 | ||||
| 3270 | /* | |||
| 3271 | - regexec_flags - match a regexp against a string | |||
| 3272 | */ | |||
| 3273 | I32 | |||
| 3274 | Perl_regexec_flagsmy_regexec(pTHX_ REGEXP * const rx, char *stringarg, char *strend, | |||
| 3275 | char *strbeg, SSize_tssize_t minend, SV *sv, void *data, U32 flags) | |||
| 3276 | /* stringarg: the point in the string at which to begin matching */ | |||
| 3277 | /* strend: pointer to null at end of string */ | |||
| 3278 | /* strbeg: real beginning of string */ | |||
| 3279 | /* minend: end of match must be >= minend bytes after stringarg. */ | |||
| 3280 | /* sv: SV being matched: only used for utf8 flag, pos() etc; string | |||
| 3281 | * itself is accessed via the pointers above */ | |||
| 3282 | /* data: May be used for some additional optimizations. | |||
| 3283 | Currently unused. */ | |||
| 3284 | /* flags: For optimizations. See REXEC_* in regexp.h */ | |||
| 3285 | ||||
| 3286 | { | |||
| 3287 | struct regexp *const prog = ReANY(rx)Perl_ReANY((const REGEXP *)(rx)); | |||
| 3288 | char *s; | |||
| 3289 | regnode *c; | |||
| 3290 | char *startpos; | |||
| 3291 | SSize_tssize_t minlen; /* must match at least this many chars */ | |||
| 3292 | SSize_tssize_t dontbother = 0; /* how many characters not to try at end */ | |||
| 3293 | const bool_Bool utf8_target = cBOOL(DO_UTF8(sv))(((((sv)->sv_flags & 0x20000000) && !__builtin_expect (((((PL_curcop)->cop_hints + 0) & 0x00000008) ? (_Bool )1 : (_Bool)0),(0)))) ? (_Bool)1 : (_Bool)0); | |||
| 3294 | I32 multiline; | |||
| 3295 | RXi_GET_DECL(prog,progi)regexp_internal *progi = ((regexp_internal *)((prog)->pprivate )); | |||
| 3296 | regmatch_info reginfo_buf; /* create some info to pass to regtry etc */ | |||
| 3297 | regmatch_info *const reginfo = ®info_buf; | |||
| 3298 | regexp_paren_pair *swap = NULL((void*)0); | |||
| 3299 | I32 oldsave; | |||
| 3300 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 3300, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 3300, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 3301 | ||||
| 3302 | PERL_ARGS_ASSERT_REGEXEC_FLAGS((rx) ? (void)0 : __assert2("re_exec.c", 3302, __func__, "rx" )); ((stringarg) ? (void)0 : __assert2("re_exec.c", 3302, __func__ , "stringarg")); ((strend) ? (void)0 : __assert2("re_exec.c", 3302, __func__, "strend")); ((strbeg) ? (void)0 : __assert2( "re_exec.c", 3302, __func__, "strbeg")); ((sv) ? (void)0 : __assert2 ("re_exec.c", 3302, __func__, "sv")); | |||
| 3303 | PERL_UNUSED_ARG(data)((void)sizeof(data)); | |||
| 3304 | ||||
| 3305 | /* Be paranoid... */ | |||
| 3306 | if (prog == NULL((void*)0)) { | |||
| 3307 | Perl_croak(aTHX_ "NULL regexp parameter"); | |||
| 3308 | } | |||
| 3309 | ||||
| 3310 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( rx,utf8_target,stringarg,strend,"Matching");;} while (0) | |||
| 3311 | debug_start_match(rx, utf8_target, stringarg, strend,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( rx,utf8_target,stringarg,strend,"Matching");;} while (0) | |||
| 3312 | "Matching");do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( rx,utf8_target,stringarg,strend,"Matching");;} while (0) | |||
| 3313 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( rx,utf8_target,stringarg,strend,"Matching");;} while (0); | |||
| 3314 | ||||
| 3315 | startpos = stringarg; | |||
| 3316 | ||||
| 3317 | /* set these early as they may be used by the HOP macros below */ | |||
| 3318 | reginfo->strbeg = strbeg; | |||
| 3319 | reginfo->strend = strend; | |||
| 3320 | reginfo->is_utf8_target = cBOOL(utf8_target)((utf8_target) ? (_Bool)1 : (_Bool)0); | |||
| 3321 | ||||
| 3322 | if (prog->intflags & PREGf_GPOS_SEEN0x00000100) { | |||
| 3323 | MAGIC *mg; | |||
| 3324 | ||||
| 3325 | /* set reginfo->ganch, the position where \G can match */ | |||
| 3326 | ||||
| 3327 | reginfo->ganch = | |||
| 3328 | (flags & REXEC_IGNOREPOS0x08) | |||
| 3329 | ? stringarg /* use start pos rather than pos() */ | |||
| 3330 | : ((mg = mg_find_mglob(sv)Perl_mg_find_mglob( sv)) && mg->mg_len >= 0) | |||
| 3331 | /* Defined pos(): */ | |||
| 3332 | ? strbeg + MgBYTEPOS(mg, sv, strbeg, strend-strbeg)S_MgBYTEPOS( mg,sv,strbeg,strend-strbeg) | |||
| 3333 | : strbeg; /* pos() not defined; use start of string */ | |||
| 3334 | ||||
| 3335 | DEBUG_GPOS_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0800000))) Perl_re_printf ( "GPOS ganch set to strbeg[%" "ld" "]\n", (IV)(reginfo->ganch - strbeg));} while (0) | |||
| 3336 | "GPOS ganch set to strbeg[%" IVdf "]\n", (IV)(reginfo->ganch - strbeg)))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0800000))) Perl_re_printf ( "GPOS ganch set to strbeg[%" "ld" "]\n", (IV)(reginfo->ganch - strbeg));} while (0); | |||
| 3337 | ||||
| 3338 | /* in the presence of \G, we may need to start looking earlier in | |||
| 3339 | * the string than the suggested start point of stringarg: | |||
| 3340 | * if prog->gofs is set, then that's a known, fixed minimum | |||
| 3341 | * offset, such as | |||
| 3342 | * /..\G/: gofs = 2 | |||
| 3343 | * /ab|c\G/: gofs = 1 | |||
| 3344 | * or if the minimum offset isn't known, then we have to go back | |||
| 3345 | * to the start of the string, e.g. /w+\G/ | |||
| 3346 | */ | |||
| 3347 | ||||
| 3348 | if (prog->intflags & PREGf_ANCH_GPOS0x00001000) { | |||
| 3349 | if (prog->gofs) { | |||
| 3350 | startpos = HOPBACKc(reginfo->ganch, prog->gofs)((char*)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)reginfo ->ganch, (ssize_t)0-prog->gofs, (U8*)(reginfo->strbeg )) : (reginfo->ganch - prog->gofs >= reginfo->strbeg ) ? (U8*)reginfo->ganch - prog->gofs : ((void*)0))); | |||
| 3351 | if (!startpos || | |||
| 3352 | ((flags & REXEC_FAIL_ON_UNDERFLOW0x80) && startpos < stringarg)) | |||
| 3353 | { | |||
| 3354 | DEBUG_GPOS_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0800000))) Perl_re_printf ( "fail: ganch-gofs before earliest possible start\n");} while (0) | |||
| 3355 | "fail: ganch-gofs before earliest possible start\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0800000))) Perl_re_printf ( "fail: ganch-gofs before earliest possible start\n");} while (0); | |||
| 3356 | return 0; | |||
| 3357 | } | |||
| 3358 | } | |||
| 3359 | else | |||
| 3360 | startpos = reginfo->ganch; | |||
| 3361 | } | |||
| 3362 | else if (prog->gofs) { | |||
| 3363 | startpos = HOPBACKc(startpos, prog->gofs)((char*)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)startpos , (ssize_t)0-prog->gofs, (U8*)(reginfo->strbeg)) : (startpos - prog->gofs >= reginfo->strbeg) ? (U8*)startpos - prog ->gofs : ((void*)0))); | |||
| 3364 | if (!startpos) | |||
| 3365 | startpos = strbeg; | |||
| 3366 | } | |||
| 3367 | else if (prog->intflags & PREGf_GPOS_FLOAT0x00000200) | |||
| 3368 | startpos = strbeg; | |||
| 3369 | } | |||
| 3370 | ||||
| 3371 | minlen = prog->minlen; | |||
| 3372 | if ((startpos + minlen) > strend || startpos < strbeg) { | |||
| 3373 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Regex match can't succeed, so not even tried\n");} while ( 0) | |||
| 3374 | "Regex match can't succeed, so not even tried\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Regex match can't succeed, so not even tried\n");} while ( 0); | |||
| 3375 | return 0; | |||
| 3376 | } | |||
| 3377 | ||||
| 3378 | /* at the end of this function, we'll do a LEAVE_SCOPE(oldsave), | |||
| 3379 | * which will call destuctors to reset PL_regmatch_state, free higher | |||
| 3380 | * PL_regmatch_slabs, and clean up regmatch_info_aux and | |||
| 3381 | * regmatch_info_aux_eval */ | |||
| 3382 | ||||
| 3383 | oldsave = PL_savestack_ix; | |||
| 3384 | ||||
| 3385 | s = startpos; | |||
| 3386 | ||||
| 3387 | if ((prog->extflags & RXf_USE_INTUIT((1U<<(((0 +12) + 2)+7))|(1U<<(((0 +12) + 2)+8)))) | |||
| 3388 | && !(flags & REXEC_CHECKED0x02)) | |||
| 3389 | { | |||
| 3390 | s = re_intuit_start(rx, sv, strbeg, startpos, strend,my_re_intuit_start( rx,sv,strbeg,startpos,strend,flags,((void *)0)) | |||
| 3391 | flags, NULL)my_re_intuit_start( rx,sv,strbeg,startpos,strend,flags,((void *)0)); | |||
| 3392 | if (!s) | |||
| 3393 | return 0; | |||
| 3394 | ||||
| 3395 | if (prog->extflags & RXf_CHECK_ALL(1U<<(((0 +12) + 2)+5))) { | |||
| 3396 | /* we can match based purely on the result of INTUIT. | |||
| 3397 | * Set up captures etc just for $& and $-[0] | |||
| 3398 | * (an intuit-only match wont have $1,$2,..) */ | |||
| 3399 | assert(!prog->nparens)((!prog->nparens) ? (void)0 : __assert2("re_exec.c", 3399, __func__, "!prog->nparens")); | |||
| 3400 | ||||
| 3401 | /* s/// doesn't like it if $& is earlier than where we asked it to | |||
| 3402 | * start searching (which can happen on something like /.\G/) */ | |||
| 3403 | if ( (flags & REXEC_FAIL_ON_UNDERFLOW0x80) | |||
| 3404 | && (s < stringarg)) | |||
| 3405 | { | |||
| 3406 | /* this should only be possible under \G */ | |||
| 3407 | assert(prog->intflags & PREGf_GPOS_SEEN)((prog->intflags & 0x00000100) ? (void)0 : __assert2("re_exec.c" , 3407, __func__, "prog->intflags & PREGf_GPOS_SEEN")); | |||
| 3408 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "matched, but failing for REXEC_FAIL_ON_UNDERFLOW\n");} while (0) | |||
| 3409 | "matched, but failing for REXEC_FAIL_ON_UNDERFLOW\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "matched, but failing for REXEC_FAIL_ON_UNDERFLOW\n");} while (0); | |||
| 3410 | goto phooey; | |||
| 3411 | } | |||
| 3412 | ||||
| 3413 | /* match via INTUIT shouldn't have any captures. | |||
| 3414 | * Let @-, @+, $^N know */ | |||
| 3415 | prog->lastparen = prog->lastcloseparen = 0; | |||
| 3416 | RXp_MATCH_UTF8_set(prog, utf8_target)((utf8_target) ? (((prog)->extflags) |= (1U<<(((0 +12 ) + 2)+6))) : (((prog)->extflags) &= ~(1U<<(((0 + 12) + 2)+6)))); | |||
| 3417 | prog->offs[0].start = s - strbeg; | |||
| 3418 | prog->offs[0].end = utf8_target | |||
| 3419 | ? (char*)utf8_hop_forwardPerl_utf8_hop_forward((U8*)s, prog->minlenret, (U8 *) strend) - strbeg | |||
| 3420 | : s - strbeg + prog->minlenret; | |||
| 3421 | if ( !(flags & REXEC_NOT_FIRST0x10) ) | |||
| 3422 | S_reg_set_capture_string(aTHX_ rx, | |||
| 3423 | strbeg, strend, | |||
| 3424 | sv, flags, utf8_target); | |||
| 3425 | ||||
| 3426 | return 1; | |||
| 3427 | } | |||
| 3428 | } | |||
| 3429 | ||||
| 3430 | multiline = prog->extflags & RXf_PMf_MULTILINE(1U << (0 +0)); | |||
| 3431 | ||||
| 3432 | if (strend - s < (minlen+(prog->check_offset_minsubstrs->data[2].min_offset<0?prog->check_offset_minsubstrs->data[2].min_offset:0))) { | |||
| 3433 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "String too short [regexec_flags]...\n");} while (0) | |||
| 3434 | "String too short [regexec_flags]...\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "String too short [regexec_flags]...\n");} while (0); | |||
| 3435 | goto phooey; | |||
| 3436 | } | |||
| 3437 | ||||
| 3438 | /* Check validity of program. */ | |||
| 3439 | if (UCHARAT(progi->program)((int)*(const U8*)(progi->program)) != REG_MAGIC0234) { | |||
| 3440 | Perl_croak(aTHX_ "corrupted regexp program"); | |||
| 3441 | } | |||
| 3442 | ||||
| 3443 | RXp_MATCH_TAINTED_off(prog)(((prog)->extflags) &= ~(1U<<(((0 +12) + 2)+12)) ); | |||
| 3444 | RXp_MATCH_UTF8_set(prog, utf8_target)((utf8_target) ? (((prog)->extflags) |= (1U<<(((0 +12 ) + 2)+6))) : (((prog)->extflags) &= ~(1U<<(((0 + 12) + 2)+6)))); | |||
| 3445 | ||||
| 3446 | reginfo->prog = rx; /* Yes, sorry that this is confusing. */ | |||
| 3447 | reginfo->intuit = 0; | |||
| 3448 | reginfo->is_utf8_pat = cBOOL(RX_UTF8(rx))((((rx)->sv_flags & 0x20000000)) ? (_Bool)1 : (_Bool)0 ); | |||
| 3449 | reginfo->warned = FALSE(0); | |||
| 3450 | reginfo->sv = sv; | |||
| 3451 | reginfo->poscache_maxiter = 0; /* not yet started a countdown */ | |||
| 3452 | /* see how far we have to get to not match where we matched before */ | |||
| 3453 | reginfo->till = stringarg + minend; | |||
| 3454 | ||||
| 3455 | if (prog->extflags & RXf_EVAL_SEEN(1U<<(((0 +12) + 2)+3)) && SvPADTMP(sv)((sv)->sv_flags & (0x00020000))) { | |||
| 3456 | /* SAVEFREESV, not sv_mortalcopy, as this SV must last until after | |||
| 3457 | S_cleanup_regmatch_info_aux has executed (registered by | |||
| 3458 | SAVEDESTRUCTOR_X below). S_cleanup_regmatch_info_aux modifies | |||
| 3459 | magic belonging to this SV. | |||
| 3460 | Not newSVsv, either, as it does not COW. | |||
| 3461 | */ | |||
| 3462 | reginfo->sv = newSV(0)Perl_newSV( 0); | |||
| 3463 | SvSetSV_nosteal(reginfo->sv, sv)do { if (__builtin_expect((((reginfo->sv) != (sv)) ? (_Bool )1 : (_Bool)0),(1))) { Perl_sv_setsv_flags( reginfo->sv,sv ,2 | 16 | 0); ;; } } while (0); | |||
| 3464 | SAVEFREESV(reginfo->sv)Perl_save_pushptr( (void *)(((SV *)({ void *_p = (reginfo-> sv); _p; }))),11); | |||
| 3465 | } | |||
| 3466 | ||||
| 3467 | /* reserve next 2 or 3 slots in PL_regmatch_state: | |||
| 3468 | * slot N+0: may currently be in use: skip it | |||
| 3469 | * slot N+1: use for regmatch_info_aux struct | |||
| 3470 | * slot N+2: use for regmatch_info_aux_eval struct if we have (?{})'s | |||
| 3471 | * slot N+3: ready for use by regmatch() | |||
| 3472 | */ | |||
| 3473 | ||||
| 3474 | { | |||
| 3475 | regmatch_state *old_regmatch_state; | |||
| 3476 | regmatch_slab *old_regmatch_slab; | |||
| 3477 | int i, max = (prog->extflags & RXf_EVAL_SEEN(1U<<(((0 +12) + 2)+3))) ? 2 : 1; | |||
| 3478 | ||||
| 3479 | /* on first ever match, allocate first slab */ | |||
| 3480 | if (!PL_regmatch_slab) { | |||
| 3481 | Newx(PL_regmatch_slab, 1, regmatch_slab)(PL_regmatch_slab = ((void)(__builtin_expect(((((( sizeof(size_t ) < sizeof(1) || sizeof(regmatch_slab) > ((size_t)1 << 8*(sizeof(size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1 )/sizeof(regmatch_slab)) > ((size_t)-1)/sizeof(regmatch_slab ))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap (),0)), (regmatch_slab*)(Perl_safesysmalloc((size_t)((1)*sizeof (regmatch_slab)))))); | |||
| 3482 | PL_regmatch_slab->prev = NULL((void*)0); | |||
| 3483 | PL_regmatch_slab->next = NULL((void*)0); | |||
| 3484 | PL_regmatch_state = SLAB_FIRST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[0]); | |||
| 3485 | } | |||
| 3486 | ||||
| 3487 | old_regmatch_state = PL_regmatch_state; | |||
| 3488 | old_regmatch_slab = PL_regmatch_slab; | |||
| 3489 | ||||
| 3490 | for (i=0; i <= max; i++) { | |||
| 3491 | if (i == 1) | |||
| 3492 | reginfo->info_aux = &(PL_regmatch_state->u.info_aux); | |||
| 3493 | else if (i ==2) | |||
| 3494 | reginfo->info_aux_eval = | |||
| 3495 | reginfo->info_aux->info_aux_eval = | |||
| 3496 | &(PL_regmatch_state->u.info_aux_eval); | |||
| 3497 | ||||
| 3498 | if (++PL_regmatch_state > SLAB_LAST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[((4096 - 3 * sizeof (void *)) / sizeof(regmatch_state))-1])) | |||
| 3499 | PL_regmatch_state = S_push_slab(aTHX); | |||
| 3500 | } | |||
| 3501 | ||||
| 3502 | /* note initial PL_regmatch_state position; at end of match we'll | |||
| 3503 | * pop back to there and free any higher slabs */ | |||
| 3504 | ||||
| 3505 | reginfo->info_aux->old_regmatch_state = old_regmatch_state; | |||
| 3506 | reginfo->info_aux->old_regmatch_slab = old_regmatch_slab; | |||
| 3507 | reginfo->info_aux->poscache = NULL((void*)0); | |||
| 3508 | ||||
| 3509 | SAVEDESTRUCTOR_X(S_cleanup_regmatch_info_aux, reginfo->info_aux)Perl_save_destructor_x( (DESTRUCTORFUNC_t)(S_cleanup_regmatch_info_aux ),(void*)(reginfo->info_aux)); | |||
| 3510 | ||||
| 3511 | if ((prog->extflags & RXf_EVAL_SEEN(1U<<(((0 +12) + 2)+3)))) | |||
| 3512 | S_setup_eval_state(aTHX_ reginfo); | |||
| 3513 | else | |||
| 3514 | reginfo->info_aux_eval = reginfo->info_aux->info_aux_eval = NULL((void*)0); | |||
| 3515 | } | |||
| 3516 | ||||
| 3517 | /* If there is a "must appear" string, look for it. */ | |||
| 3518 | ||||
| 3519 | if (PL_curpm && (PM_GETRE(PL_curpm)((PL_curpm)->op_pmregexp) == rx)) { | |||
| 3520 | /* We have to be careful. If the previous successful match | |||
| 3521 | was from this regex we don't want a subsequent partially | |||
| 3522 | successful match to clobber the old results. | |||
| 3523 | So when we detect this possibility we add a swap buffer | |||
| 3524 | to the re, and switch the buffer each match. If we fail, | |||
| 3525 | we switch it back; otherwise we leave it swapped. | |||
| 3526 | */ | |||
| 3527 | swap = prog->offs; | |||
| 3528 | /* avoid leak if we die, or clean up anyway if match completes */ | |||
| 3529 | SAVEFREEPV(swap)Perl_save_pushptr( (void *)((char*)(swap)),10); | |||
| 3530 | Newxz(prog->offs, (prog->nparens + 1), regexp_paren_pair)(prog->offs = ((void)(__builtin_expect(((((( sizeof(size_t ) < sizeof((prog->nparens + 1)) || sizeof(regexp_paren_pair ) > ((size_t)1 << 8*(sizeof(size_t) - sizeof((prog-> nparens + 1))))) ? (size_t)((prog->nparens + 1)) : ((size_t )-1)/sizeof(regexp_paren_pair)) > ((size_t)-1)/sizeof(regexp_paren_pair ))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap (),0)), (regexp_paren_pair*)(Perl_safesyscalloc(((prog->nparens + 1)),sizeof(regexp_paren_pair))))); | |||
| 3531 | DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " saving offs: orig=0x%" "lx" " new=0x%" "lx" "\n", 0, (UV)(prog), (UV)(swap), (UV)(prog->offs) );} while (0) | |||
| 3532 | "rex=0x%" UVxf " saving offs: orig=0x%" UVxf " new=0x%" UVxf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " saving offs: orig=0x%" "lx" " new=0x%" "lx" "\n", 0, (UV)(prog), (UV)(swap), (UV)(prog->offs) );} while (0) | |||
| 3533 | 0,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " saving offs: orig=0x%" "lx" " new=0x%" "lx" "\n", 0, (UV)(prog), (UV)(swap), (UV)(prog->offs) );} while (0) | |||
| 3534 | PTR2UV(prog),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " saving offs: orig=0x%" "lx" " new=0x%" "lx" "\n", 0, (UV)(prog), (UV)(swap), (UV)(prog->offs) );} while (0) | |||
| 3535 | PTR2UV(swap),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " saving offs: orig=0x%" "lx" " new=0x%" "lx" "\n", 0, (UV)(prog), (UV)(swap), (UV)(prog->offs) );} while (0) | |||
| 3536 | PTR2UV(prog->offs)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " saving offs: orig=0x%" "lx" " new=0x%" "lx" "\n", 0, (UV)(prog), (UV)(swap), (UV)(prog->offs) );} while (0) | |||
| 3537 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " saving offs: orig=0x%" "lx" " new=0x%" "lx" "\n", 0, (UV)(prog), (UV)(swap), (UV)(prog->offs) );} while (0); | |||
| 3538 | } | |||
| 3539 | ||||
| 3540 | if (prog->recurse_locinput) | |||
| 3541 | Zero(prog->recurse_locinput,prog->nparens + 1, char *)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(prog ->nparens + 1) || sizeof(char *) > ((size_t)1 << 8 *(sizeof(size_t) - sizeof(prog->nparens + 1)))) ? (size_t) (prog->nparens + 1) : ((size_t)-1)/sizeof(char *)) > (( size_t)-1)/sizeof(char *))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), ((((void*)(prog->recurse_locinput )) != 0) ? (void)0 : __assert2("re_exec.c", 3541, __func__, "((void*)(prog->recurse_locinput)) != 0" )), (void)memset((char*)(prog->recurse_locinput),0,(prog-> nparens + 1) * sizeof(char *))); | |||
| 3542 | ||||
| 3543 | /* Simplest case: anchored match need be tried only once, or with | |||
| 3544 | * MBOL, only at the beginning of each line. | |||
| 3545 | * | |||
| 3546 | * Note that /.*.../ sets PREGf_IMPLICIT|MBOL, while /.*.../s sets | |||
| 3547 | * PREGf_IMPLICIT|SBOL. The idea is that with /.*.../s, if it doesn't | |||
| 3548 | * match at the start of the string then it won't match anywhere else | |||
| 3549 | * either; while with /.*.../, if it doesn't match at the beginning, | |||
| 3550 | * the earliest it could match is at the start of the next line */ | |||
| 3551 | ||||
| 3552 | if (prog->intflags & (PREGf_ANCH( 0x00000800 | 0x00001000 | 0x00000400 ) & ~PREGf_ANCH_GPOS0x00001000)) { | |||
| 3553 | char *end; | |||
| 3554 | ||||
| 3555 | if (regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 3556 | goto got_it; | |||
| 3557 | ||||
| 3558 | if (!(prog->intflags & PREGf_ANCH_MBOL0x00000400)) | |||
| 3559 | goto phooey; | |||
| 3560 | ||||
| 3561 | /* didn't match at start, try at other newline positions */ | |||
| 3562 | ||||
| 3563 | if (minlen) | |||
| 3564 | dontbother = minlen - 1; | |||
| 3565 | end = HOP3c(strend, -dontbother, strbeg)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , -dontbother, (U8*)(strbeg)) : (U8*)(strend + -dontbother))) - 1; | |||
| 3566 | ||||
| 3567 | /* skip to next newline */ | |||
| 3568 | ||||
| 3569 | while (s <= end) { /* note it could be possible to match at the end of the string */ | |||
| 3570 | /* NB: newlines are the same in unicode as they are in latin */ | |||
| 3571 | if (*s++ != '\n') | |||
| 3572 | continue; | |||
| 3573 | if (prog->check_substrsubstrs->data[2].substr || prog->check_utf8substrs->data[2].utf8_substr) { | |||
| 3574 | /* note that with PREGf_IMPLICIT, intuit can only fail | |||
| 3575 | * or return the start position, so it's of limited utility. | |||
| 3576 | * Nevertheless, I made the decision that the potential for | |||
| 3577 | * quick fail was still worth it - DAPM */ | |||
| 3578 | s = re_intuit_start(rx, sv, strbeg, s, strend, flags, NULL)my_re_intuit_start( rx,sv,strbeg,s,strend,flags,((void*)0)); | |||
| 3579 | if (!s) | |||
| 3580 | goto phooey; | |||
| 3581 | } | |||
| 3582 | if (regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 3583 | goto got_it; | |||
| 3584 | } | |||
| 3585 | goto phooey; | |||
| 3586 | } /* end anchored search */ | |||
| 3587 | ||||
| 3588 | if (prog->intflags & PREGf_ANCH_GPOS0x00001000) | |||
| 3589 | { | |||
| 3590 | /* PREGf_ANCH_GPOS should never be true if PREGf_GPOS_SEEN is not true */ | |||
| 3591 | assert(prog->intflags & PREGf_GPOS_SEEN)((prog->intflags & 0x00000100) ? (void)0 : __assert2("re_exec.c" , 3591, __func__, "prog->intflags & PREGf_GPOS_SEEN")); | |||
| 3592 | /* For anchored \G, the only position it can match from is | |||
| 3593 | * (ganch-gofs); we already set startpos to this above; if intuit | |||
| 3594 | * moved us on from there, we can't possibly succeed */ | |||
| 3595 | assert(startpos == HOPBACKc(reginfo->ganch, prog->gofs))((startpos == ((char*)(reginfo->is_utf8_target ? S_reghopmaybe3 ((U8*)reginfo->ganch, (ssize_t)0-prog->gofs, (U8*)(reginfo ->strbeg)) : (reginfo->ganch - prog->gofs >= reginfo ->strbeg) ? (U8*)reginfo->ganch - prog->gofs : ((void *)0)))) ? (void)0 : __assert2("re_exec.c", 3595, __func__, "startpos == HOPBACKc(reginfo->ganch, prog->gofs)" )); | |||
| 3596 | if (s == startpos && regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 3597 | goto got_it; | |||
| 3598 | goto phooey; | |||
| 3599 | } | |||
| 3600 | ||||
| 3601 | /* Messy cases: unanchored match. */ | |||
| 3602 | if ((prog->anchored_substrsubstrs->data[0].substr || prog->anchored_utf8substrs->data[0].utf8_substr) && prog->intflags & PREGf_SKIP0x00000001) { | |||
| 3603 | /* we have /x+whatever/ */ | |||
| 3604 | /* it must be a one character string (XXXX Except is_utf8_pat?) */ | |||
| 3605 | char ch; | |||
| 3606 | #ifdef DEBUGGING | |||
| 3607 | int did_match = 0; | |||
| 3608 | #endif | |||
| 3609 | if (utf8_target) { | |||
| 3610 | if (! prog->anchored_utf8substrs->data[0].utf8_substr) { | |||
| 3611 | to_utf8_substr(prog)S_to_utf8_substr( prog); | |||
| 3612 | } | |||
| 3613 | ch = SvPVX_const(prog->anchored_utf8)((const char*)(0 + (prog->substrs->data[0].utf8_substr) ->sv_u.svu_pv))[0]; | |||
| 3614 | REXEC_FBC_SCAN(0, /* 0=>not-utf8 */do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3615 | if (*s == ch) {do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3616 | DEBUG_EXECUTE_r( did_match = 1 );do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3617 | if (regtry(reginfo, &s)) goto got_it;do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3618 | s += UTF8_SAFE_SKIP(s, strend);do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3619 | while (s < strend && *s == ch)do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3620 | s += UTF8SKIP(s);do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3621 | }do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3622 | )do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s += ((((strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3618, __func__, "(strend) >= (s)" )), ((strend) - (s)) <= 0 ? 0 : (((((strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((strend) - (s))):(PL_utf8skip[*(const U8 *)(s)]))); while (s < strend && *s == ch) s += PL_utf8skip [*(const U8*)(s)]; } s += ((0) ? ((((reginfo->strend) >= (s)) ? (void)0 : __assert2("re_exec.c", 3622, __func__, "(reginfo->strend) >= (s)" )), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo-> strend) - (s)))<(PL_utf8skip[*(const U8*)(s)]))?(((reginfo ->strend) - (s))):(PL_utf8skip[*(const U8*)(s)]))) : 1); } } while (0); | |||
| 3623 | ||||
| 3624 | } | |||
| 3625 | else { | |||
| 3626 | if (! prog->anchored_substrsubstrs->data[0].substr) { | |||
| 3627 | if (! to_byte_substr(prog)S_to_byte_substr( prog)) { | |||
| 3628 | NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey)do { do {if (__builtin_expect(((PL_debug & 0x00100000) ? ( _Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00)) ) Perl_re_printf( "%s", non_utf8_target_but_utf8_required);} while (0); goto phooey; } while (0); | |||
| 3629 | } | |||
| 3630 | } | |||
| 3631 | ch = SvPVX_const(prog->anchored_substr)((const char*)(0 + (prog->substrs->data[0].substr)-> sv_u.svu_pv))[0]; | |||
| 3632 | REXEC_FBC_SCAN(0, /* 0=>not-utf8 */do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3633 | if (*s == ch) {do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3634 | DEBUG_EXECUTE_r( did_match = 1 );do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3635 | if (regtry(reginfo, &s)) goto got_it;do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3636 | s++;do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3637 | while (s < strend && *s == ch)do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3638 | s++;do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3639 | }do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0) | |||
| 3640 | )do { while (s < strend) { if (*s == ch) { do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x00FF00))) did_match = 1;} while (0); if (S_regtry( reginfo,&s)) goto got_it; s++; while (s < strend && *s == ch) s++; } s += ((0) ? ((((reginfo->strend ) >= (s)) ? (void)0 : __assert2("re_exec.c", 3640, __func__ , "(reginfo->strend) >= (s)")), ((reginfo->strend) - (s)) <= 0 ? 0 : (((((reginfo->strend) - (s)))<(PL_utf8skip [*(const U8*)(s)]))?(((reginfo->strend) - (s))):(PL_utf8skip [*(const U8*)(s)]))) : 1); } } while (0); | |||
| 3641 | } | |||
| 3642 | DEBUG_EXECUTE_r(if (!did_match)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) Perl_re_printf( "Did not find anchored character...\n" );} while (0) | |||
| 3643 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) Perl_re_printf( "Did not find anchored character...\n" );} while (0) | |||
| 3644 | "Did not find anchored character...\n")do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) Perl_re_printf( "Did not find anchored character...\n" );} while (0) | |||
| 3645 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) Perl_re_printf( "Did not find anchored character...\n" );} while (0); | |||
| 3646 | } | |||
| 3647 | else if (prog->anchored_substrsubstrs->data[0].substr != NULL((void*)0) | |||
| 3648 | || prog->anchored_utf8substrs->data[0].utf8_substr != NULL((void*)0) | |||
| 3649 | || ((prog->float_substrsubstrs->data[1].substr != NULL((void*)0) || prog->float_utf8substrs->data[1].utf8_substr != NULL((void*)0)) | |||
| 3650 | && prog->float_max_offsetsubstrs->data[1].max_offset < strend - s)) { | |||
| 3651 | SV *must; | |||
| 3652 | SSize_tssize_t back_max; | |||
| 3653 | SSize_tssize_t back_min; | |||
| 3654 | char *last; | |||
| 3655 | char *last1; /* Last position checked before */ | |||
| 3656 | #ifdef DEBUGGING | |||
| 3657 | int did_match = 0; | |||
| 3658 | #endif | |||
| 3659 | if (prog->anchored_substrsubstrs->data[0].substr || prog->anchored_utf8substrs->data[0].utf8_substr) { | |||
| 3660 | if (utf8_target) { | |||
| 3661 | if (! prog->anchored_utf8substrs->data[0].utf8_substr) { | |||
| 3662 | to_utf8_substr(prog)S_to_utf8_substr( prog); | |||
| 3663 | } | |||
| 3664 | must = prog->anchored_utf8substrs->data[0].utf8_substr; | |||
| 3665 | } | |||
| 3666 | else { | |||
| 3667 | if (! prog->anchored_substrsubstrs->data[0].substr) { | |||
| 3668 | if (! to_byte_substr(prog)S_to_byte_substr( prog)) { | |||
| 3669 | NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey)do { do {if (__builtin_expect(((PL_debug & 0x00100000) ? ( _Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00)) ) Perl_re_printf( "%s", non_utf8_target_but_utf8_required);} while (0); goto phooey; } while (0); | |||
| 3670 | } | |||
| 3671 | } | |||
| 3672 | must = prog->anchored_substrsubstrs->data[0].substr; | |||
| 3673 | } | |||
| 3674 | back_max = back_min = prog->anchored_offsetsubstrs->data[0].min_offset; | |||
| 3675 | } else { | |||
| 3676 | if (utf8_target) { | |||
| 3677 | if (! prog->float_utf8substrs->data[1].utf8_substr) { | |||
| 3678 | to_utf8_substr(prog)S_to_utf8_substr( prog); | |||
| 3679 | } | |||
| 3680 | must = prog->float_utf8substrs->data[1].utf8_substr; | |||
| 3681 | } | |||
| 3682 | else { | |||
| 3683 | if (! prog->float_substrsubstrs->data[1].substr) { | |||
| 3684 | if (! to_byte_substr(prog)S_to_byte_substr( prog)) { | |||
| 3685 | NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey)do { do {if (__builtin_expect(((PL_debug & 0x00100000) ? ( _Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00)) ) Perl_re_printf( "%s", non_utf8_target_but_utf8_required);} while (0); goto phooey; } while (0); | |||
| 3686 | } | |||
| 3687 | } | |||
| 3688 | must = prog->float_substrsubstrs->data[1].substr; | |||
| 3689 | } | |||
| 3690 | back_max = prog->float_max_offsetsubstrs->data[1].max_offset; | |||
| 3691 | back_min = prog->float_min_offsetsubstrs->data[1].min_offset; | |||
| 3692 | } | |||
| 3693 | ||||
| 3694 | if (back_min<0) { | |||
| 3695 | last = strend; | |||
| 3696 | } else { | |||
| 3697 | last = HOP3c(strend, /* Cannot start after this */((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , -(ssize_t)((utf8_target ? Perl_sv_len_utf8( must) : (*({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX[ ((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3698, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3698, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3698, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) != 0) + back_min), (U8*)(strbeg)) : (U8*)(strend + -(ssize_t)((utf8_target ? Perl_sv_len_utf8( must) : (*({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX[ ((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3698, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3698, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3698, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) != 0) + back_min)))) | |||
| 3698 | -(SSize_t)(CHR_SVLEN(must)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , -(ssize_t)((utf8_target ? Perl_sv_len_utf8( must) : (*({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX[ ((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3698, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3698, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3698, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) != 0) + back_min), (U8*)(strbeg)) : (U8*)(strend + -(ssize_t)((utf8_target ? Perl_sv_len_utf8( must) : (*({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX[ ((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3698, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3698, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3698, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) != 0) + back_min)))) | |||
| 3699 | - (SvTAIL(must) != 0) + back_min), strbeg)((char*)(reginfo->is_utf8_target ? S_reghop3((U8*)(strend) , -(ssize_t)((utf8_target ? Perl_sv_len_utf8( must) : (*({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX[ ((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3698, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3698, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3698, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) != 0) + back_min), (U8*)(strbeg)) : (U8*)(strend + -(ssize_t)((utf8_target ? Perl_sv_len_utf8( must) : (*({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX[ ((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3698, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3698, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3698, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3699, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3699, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) != 0) + back_min)))); | |||
| 3700 | } | |||
| 3701 | if (s > reginfo->strbeg) | |||
| 3702 | last1 = HOPc(s, -1)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)s, -1, ( U8*)(-1 >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8*)(s + -1)); | |||
| 3703 | else | |||
| 3704 | last1 = s - 1; /* bogus */ | |||
| 3705 | ||||
| 3706 | /* XXXX check_substr already used to find "s", can optimize if | |||
| 3707 | check_substr==must. */ | |||
| 3708 | dontbother = 0; | |||
| 3709 | strend = HOPc(strend, -dontbother)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)strend, - dontbother, (U8*)(-dontbother >= 0 ? reginfo->strend : reginfo ->strbeg)) : (U8*)(strend + -dontbother)); | |||
| 3710 | while ( (s <= last) && | |||
| 3711 | (s = fbm_instr((unsigned char*)HOP4c(s, back_min, strbeg, strend),Perl_fbm_instr( (unsigned char*)((char*)(reginfo->is_utf8_target ? S_reghop4((U8*)(s), back_min, (U8*)(strbeg), (U8*)(strend) ) : (U8*)(s + back_min))),(unsigned char*)strend,must,multiline ? 1 : 0) | |||
| 3712 | (unsigned char*)strend, must,Perl_fbm_instr( (unsigned char*)((char*)(reginfo->is_utf8_target ? S_reghop4((U8*)(s), back_min, (U8*)(strbeg), (U8*)(strend) ) : (U8*)(s + back_min))),(unsigned char*)strend,must,multiline ? 1 : 0) | |||
| 3713 | multiline ? FBMrf_MULTILINE : 0)Perl_fbm_instr( (unsigned char*)((char*)(reginfo->is_utf8_target ? S_reghop4((U8*)(s), back_min, (U8*)(strbeg), (U8*)(strend) ) : (U8*)(s + back_min))),(unsigned char*)strend,must,multiline ? 1 : 0)) ) { | |||
| 3714 | DEBUG_EXECUTE_r( did_match = 1 )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) did_match = 1;} while (0); | |||
| 3715 | if (HOPc(s, -back_max)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)s, -back_max , (U8*)(-back_max >= 0 ? reginfo->strend : reginfo-> strbeg)) : (U8*)(s + -back_max)) > last1) { | |||
| 3716 | last1 = HOPc(s, -back_min)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)s, -back_min , (U8*)(-back_min >= 0 ? reginfo->strend : reginfo-> strbeg)) : (U8*)(s + -back_min)); | |||
| 3717 | s = HOPc(s, -back_max)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)s, -back_max , (U8*)(-back_max >= 0 ? reginfo->strend : reginfo-> strbeg)) : (U8*)(s + -back_max)); | |||
| 3718 | } | |||
| 3719 | else { | |||
| 3720 | char * const t = (last1 >= reginfo->strbeg) | |||
| 3721 | ? HOPc(last1, 1)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)last1, 1 , (U8*)(1 >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8*)(last1 + 1)) : last1 + 1; | |||
| 3722 | ||||
| 3723 | last1 = HOPc(s, -back_min)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)s, -back_min , (U8*)(-back_min >= 0 ? reginfo->strend : reginfo-> strbeg)) : (U8*)(s + -back_min)); | |||
| 3724 | s = t; | |||
| 3725 | } | |||
| 3726 | if (utf8_target) { | |||
| 3727 | while (s <= last1) { | |||
| 3728 | if (regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 3729 | goto got_it; | |||
| 3730 | if (s >= last1) { | |||
| 3731 | s++; /* to break out of outer loop */ | |||
| 3732 | break; | |||
| 3733 | } | |||
| 3734 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 3735 | } | |||
| 3736 | } | |||
| 3737 | else { | |||
| 3738 | while (s <= last1) { | |||
| 3739 | if (regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 3740 | goto got_it; | |||
| 3741 | s++; | |||
| 3742 | } | |||
| 3743 | } | |||
| 3744 | } | |||
| 3745 | DEBUG_EXECUTE_r(if (!did_match) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 3746 | RE_PV_QUOTED_DECL(quoted, utf8_target, PERL_DEBUG_PAD_ZERO(0),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 3747 | SvPVX_const(must), RE_SV_DUMPLEN(must), 30);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 3748 | Perl_re_printf( aTHX_ "Did not find %s substr %s%s...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 3749 | ((must == prog->anchored_substr || must == prog->anchored_utf8)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 3750 | ? "anchored" : "floating"),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 3751 | quoted, RE_SV_TAIL(must));do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0) | |||
| 3752 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( !did_match) { const char * const quoted = Perl_pv_pretty( ((( *({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[0])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3746, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3746, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),(((const char*)(0 + (must)->sv_u.svu_pv))),(((* ({ const SV *const _svcur = (const SV *)(must); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3747, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3747, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - (({ const SV *const _svtail = (const SV *)(must); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3747, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3747, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })!=0))),(30),PL_colors[0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); Perl_re_printf( "Did not find %s substr %s%s...\n", ( (must == prog->substrs->data[0].substr || must == prog-> substrs->data[0].utf8_substr) ? "anchored" : "floating"), quoted , (({ const SV *const _svtail = (const SV *)(must); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3751, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3751, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; }) ? "$" : "")); };} while (0); | |||
| 3753 | goto phooey; | |||
| 3754 | } | |||
| 3755 | else if ( (c = progi->regstclass) ) { | |||
| 3756 | if (minlen) { | |||
| 3757 | const OPCODEU16 op = OP(progi->regstclass)((progi->regstclass)->type); | |||
| 3758 | /* don't bother with what can't match */ | |||
| 3759 | if (PL_regkind[op] != EXACT40 && PL_regkind[op] != TRIE88) | |||
| 3760 | strend = HOPc(strend, -(minlen - 1))(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)strend, - (minlen - 1), (U8*)(-(minlen - 1) >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8*)(strend + -(minlen - 1))); | |||
| 3761 | } | |||
| 3762 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3763 | SV * const prop = sv_newmortal();do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3764 | regprop(prog, prop, c, reginfo, NULL);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3765 | {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3766 | RE_PV_QUOTED_DECL(quoted,utf8_target,PERL_DEBUG_PAD_ZERO(1),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3767 | s,strend-s,PL_dump_re_max_len);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3768 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3769 | "Matching stclass %.*s against %s (%d bytes)\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3770 | (int)SvCUR(prop), SvPVX_const(prop),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3771 | quoted, (int)(strend - s));do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3772 | }do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0) | |||
| 3773 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop( prog,prop,c, reginfo,((void*)0)); { const char * const quoted = Perl_pv_pretty ( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad .pad[1])); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3766, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3766, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(s),(strend-s),(PL_dump_re_max_len),PL_colors[0],PL_colors [1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target ) ? 0x000100 : 0))); Perl_re_printf( "Matching stclass %.*s against %s (%d bytes)\n" , (int)(*({ const SV *const _svcur = (const SV *)(prop); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 3770, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3770, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3770, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })), ((const char*)(0 + (prop)->sv_u.svu_pv )), quoted, (int)(strend - s)); } };} while (0); | |||
| 3774 | if (find_byclass(prog, c, s, strend, reginfo)S_find_byclass( prog,c,s,strend,reginfo)) | |||
| 3775 | goto got_it; | |||
| 3776 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_ "Contradicts stclass... [regexec_flags]\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "Contradicts stclass... [regexec_flags]\n");} while (0); | |||
| 3777 | } | |||
| 3778 | else { | |||
| 3779 | dontbother = 0; | |||
| 3780 | if (prog->float_substrsubstrs->data[1].substr != NULL((void*)0) || prog->float_utf8substrs->data[1].utf8_substr != NULL((void*)0)) { | |||
| 3781 | /* Trim the end. */ | |||
| 3782 | char *last= NULL((void*)0); | |||
| 3783 | SV* float_real; | |||
| 3784 | STRLEN len; | |||
| 3785 | const char *little; | |||
| 3786 | ||||
| 3787 | if (utf8_target) { | |||
| 3788 | if (! prog->float_utf8substrs->data[1].utf8_substr) { | |||
| 3789 | to_utf8_substr(prog)S_to_utf8_substr( prog); | |||
| 3790 | } | |||
| 3791 | float_real = prog->float_utf8substrs->data[1].utf8_substr; | |||
| 3792 | } | |||
| 3793 | else { | |||
| 3794 | if (! prog->float_substrsubstrs->data[1].substr) { | |||
| 3795 | if (! to_byte_substr(prog)S_to_byte_substr( prog)) { | |||
| 3796 | NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey)do { do {if (__builtin_expect(((PL_debug & 0x00100000) ? ( _Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00)) ) Perl_re_printf( "%s", non_utf8_target_but_utf8_required);} while (0); goto phooey; } while (0); | |||
| 3797 | } | |||
| 3798 | } | |||
| 3799 | float_real = prog->float_substrsubstrs->data[1].substr; | |||
| 3800 | } | |||
| 3801 | ||||
| 3802 | little = SvPV_const(float_real, len)((((float_real)->sv_flags & (0x00000400|0x00200000)) == 0x00000400) ? ((len = (*({ const SV *const _svcur = (const SV *)(float_real); ((PL_valid_types_PVX[((svtype)((_svcur)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 3802, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 3802, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 3802, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))), ((const char*)(0 + (float_real)->sv_u .svu_pv))) : (const char*) Perl_sv_2pv_flags( float_real,& len,(2|32))); | |||
| 3803 | if (SvTAIL(float_real)({ const SV *const _svtail = (const SV *)(float_real); ((((svtype )((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 3803, __func__, "SvTYPE(_svtail) != SVt_PVAV" )); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVHV ) ? (void)0 : __assert2("re_exec.c", 3803, __func__, "SvTYPE(_svtail) != SVt_PVHV" )); ((!((_svtail)->sv_flags & (0x00000200|0x00002000)) ) ? (void)0 : __assert2("re_exec.c", 3803, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 3803, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 3803, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); &( ((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 3803, __func__, "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })) { | |||
| 3804 | /* This means that float_real contains an artificial \n on | |||
| 3805 | * the end due to the presence of something like this: | |||
| 3806 | * /foo$/ where we can match both "foo" and "foo\n" at the | |||
| 3807 | * end of the string. So we have to compare the end of the | |||
| 3808 | * string first against the float_real without the \n and | |||
| 3809 | * then against the full float_real with the string. We | |||
| 3810 | * have to watch out for cases where the string might be | |||
| 3811 | * smaller than the float_real or the float_real without | |||
| 3812 | * the \n. */ | |||
| 3813 | char *checkpos= strend - len; | |||
| 3814 | DEBUG_OPTIMISE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_printf ( "%sChecking for float_real.%s\n", PL_colors[4], PL_colors[5 ]);} while (0) | |||
| 3815 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_printf ( "%sChecking for float_real.%s\n", PL_colors[4], PL_colors[5 ]);} while (0) | |||
| 3816 | "%sChecking for float_real.%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_printf ( "%sChecking for float_real.%s\n", PL_colors[4], PL_colors[5 ]);} while (0) | |||
| 3817 | PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_printf ( "%sChecking for float_real.%s\n", PL_colors[4], PL_colors[5 ]);} while (0); | |||
| 3818 | if (checkpos + 1 < strbeg) { | |||
| 3819 | /* can't match, even if we remove the trailing \n | |||
| 3820 | * string is too short to match */ | |||
| 3821 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString shorter than required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3822 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString shorter than required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3823 | "%sString shorter than required trailing substring, cannot match.%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString shorter than required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3824 | PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString shorter than required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0); | |||
| 3825 | goto phooey; | |||
| 3826 | } else if (memEQ(checkpos + 1, little, len - 1)(memcmp(((const void *) (checkpos + 1)), ((const void *) (little )), len - 1) == 0)) { | |||
| 3827 | /* can match, the end of the string matches without the | |||
| 3828 | * "\n" */ | |||
| 3829 | last = checkpos + 1; | |||
| 3830 | } else if (checkpos < strbeg) { | |||
| 3831 | /* cant match, string is too short when the "\n" is | |||
| 3832 | * included */ | |||
| 3833 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3834 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3835 | "%sString does not contain required trailing substring, cannot match.%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3836 | PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0); | |||
| 3837 | goto phooey; | |||
| 3838 | } else if (!multiline) { | |||
| 3839 | /* non multiline match, so compare with the "\n" at the | |||
| 3840 | * end of the string */ | |||
| 3841 | if (memEQ(checkpos, little, len)(memcmp(((const void *) (checkpos)), ((const void *) (little) ), len) == 0)) { | |||
| 3842 | last= checkpos; | |||
| 3843 | } else { | |||
| 3844 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3845 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3846 | "%sString does not contain required trailing substring, cannot match.%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 3847 | PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required trailing substring, cannot match.%s\n" , PL_colors[4], PL_colors[5]);} while (0); | |||
| 3848 | goto phooey; | |||
| 3849 | } | |||
| 3850 | } else { | |||
| 3851 | /* multiline match, so we have to search for a place | |||
| 3852 | * where the full string is located */ | |||
| 3853 | goto find_last; | |||
| 3854 | } | |||
| 3855 | } else { | |||
| 3856 | find_last: | |||
| 3857 | if (len) | |||
| 3858 | last = rninstrPerl_rninstr(s, strend, little, little + len); | |||
| 3859 | else | |||
| 3860 | last = strend; /* matching "$" */ | |||
| 3861 | } | |||
| 3862 | if (!last) { | |||
| 3863 | /* at one point this block contained a comment which was | |||
| 3864 | * probably incorrect, which said that this was a "should not | |||
| 3865 | * happen" case. Even if it was true when it was written I am | |||
| 3866 | * pretty sure it is not anymore, so I have removed the comment | |||
| 3867 | * and replaced it with this one. Yves */ | |||
| 3868 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required substring, cannot match.%s\n" , PL_colors[4], PL_colors[5] );} while (0) | |||
| 3869 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required substring, cannot match.%s\n" , PL_colors[4], PL_colors[5] );} while (0) | |||
| 3870 | "%sString does not contain required substring, cannot match.%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required substring, cannot match.%s\n" , PL_colors[4], PL_colors[5] );} while (0) | |||
| 3871 | PL_colors[4], PL_colors[5]do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required substring, cannot match.%s\n" , PL_colors[4], PL_colors[5] );} while (0) | |||
| 3872 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sString does not contain required substring, cannot match.%s\n" , PL_colors[4], PL_colors[5] );} while (0); | |||
| 3873 | goto phooey; | |||
| 3874 | } | |||
| 3875 | dontbother = strend - last + prog->float_min_offsetsubstrs->data[1].min_offset; | |||
| 3876 | } | |||
| 3877 | if (minlen && (dontbother < minlen)) | |||
| 3878 | dontbother = minlen - 1; | |||
| 3879 | strend -= dontbother; /* this one's always in bytes! */ | |||
| 3880 | /* We don't know much -- general case. */ | |||
| 3881 | if (utf8_target) { | |||
| 3882 | for (;;) { | |||
| 3883 | if (regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 3884 | goto got_it; | |||
| 3885 | if (s >= strend) | |||
| 3886 | break; | |||
| 3887 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 3888 | }; | |||
| 3889 | } | |||
| 3890 | else { | |||
| 3891 | do { | |||
| 3892 | if (regtry(reginfo, &s)S_regtry( reginfo,&s)) | |||
| 3893 | goto got_it; | |||
| 3894 | } while (s++ < strend); | |||
| 3895 | } | |||
| 3896 | } | |||
| 3897 | ||||
| 3898 | /* Failure. */ | |||
| 3899 | goto phooey; | |||
| 3900 | ||||
| 3901 | got_it: | |||
| 3902 | /* s/// doesn't like it if $& is earlier than where we asked it to | |||
| 3903 | * start searching (which can happen on something like /.\G/) */ | |||
| 3904 | if ( (flags & REXEC_FAIL_ON_UNDERFLOW0x80) | |||
| 3905 | && (prog->offs[0].start < stringarg - strbeg)) | |||
| 3906 | { | |||
| 3907 | /* this should only be possible under \G */ | |||
| 3908 | assert(prog->intflags & PREGf_GPOS_SEEN)((prog->intflags & 0x00000100) ? (void)0 : __assert2("re_exec.c" , 3908, __func__, "prog->intflags & PREGf_GPOS_SEEN")); | |||
| 3909 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "matched, but failing for REXEC_FAIL_ON_UNDERFLOW\n");} while (0) | |||
| 3910 | "matched, but failing for REXEC_FAIL_ON_UNDERFLOW\n"))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "matched, but failing for REXEC_FAIL_ON_UNDERFLOW\n");} while (0); | |||
| 3911 | goto phooey; | |||
| 3912 | } | |||
| 3913 | ||||
| 3914 | /* clean up; this will trigger destructors that will free all slabs | |||
| 3915 | * above the current one, and cleanup the regmatch_info_aux | |||
| 3916 | * and regmatch_info_aux_eval sructs */ | |||
| 3917 | ||||
| 3918 | LEAVE_SCOPE(oldsave)do { if (PL_savestack_ix > oldsave) Perl_leave_scope( oldsave ); } while (0); | |||
| 3919 | ||||
| 3920 | if (RXp_PAREN_NAMES(prog)((prog)->paren_names)) | |||
| 3921 | (void)hv_iterinit(RXp_PAREN_NAMES(prog))Perl_hv_iterinit( ((prog)->paren_names)); | |||
| 3922 | ||||
| 3923 | /* make sure $`, $&, $', and $digit will work later */ | |||
| 3924 | if ( !(flags & REXEC_NOT_FIRST0x10) ) | |||
| 3925 | S_reg_set_capture_string(aTHX_ rx, | |||
| 3926 | strbeg, reginfo->strend, | |||
| 3927 | sv, flags, utf8_target); | |||
| 3928 | ||||
| 3929 | return 1; | |||
| 3930 | ||||
| 3931 | phooey: | |||
| 3932 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_ "%sMatch failed%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sMatch failed%s\n", PL_colors[4], PL_colors[5]);} while ( 0) | |||
| 3933 | PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sMatch failed%s\n", PL_colors[4], PL_colors[5]);} while ( 0); | |||
| 3934 | ||||
| 3935 | if (swap) { | |||
| 3936 | /* we failed :-( roll it back. | |||
| 3937 | * Since the swap buffer will be freed on scope exit which follows | |||
| 3938 | * shortly, restore the old captures by copying 'swap's original | |||
| 3939 | * data to the new offs buffer | |||
| 3940 | */ | |||
| 3941 | DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " rolling back offs: 0x%" "lx" " will be freed; restoring data to =0x%" "lx" "\n", 0, (UV)(prog), (UV)(prog->offs), (UV)(swap) ); } while (0) | |||
| 3942 | "rex=0x%" UVxf " rolling back offs: 0x%" UVxf " will be freed; restoring data to =0x%" UVxf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " rolling back offs: 0x%" "lx" " will be freed; restoring data to =0x%" "lx" "\n", 0, (UV)(prog), (UV)(prog->offs), (UV)(swap) ); } while (0) | |||
| 3943 | 0,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " rolling back offs: 0x%" "lx" " will be freed; restoring data to =0x%" "lx" "\n", 0, (UV)(prog), (UV)(prog->offs), (UV)(swap) ); } while (0) | |||
| 3944 | PTR2UV(prog),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " rolling back offs: 0x%" "lx" " will be freed; restoring data to =0x%" "lx" "\n", 0, (UV)(prog), (UV)(prog->offs), (UV)(swap) ); } while (0) | |||
| 3945 | PTR2UV(prog->offs),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " rolling back offs: 0x%" "lx" " will be freed; restoring data to =0x%" "lx" "\n", 0, (UV)(prog), (UV)(prog->offs), (UV)(swap) ); } while (0) | |||
| 3946 | PTR2UV(swap)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " rolling back offs: 0x%" "lx" " will be freed; restoring data to =0x%" "lx" "\n", 0, (UV)(prog), (UV)(prog->offs), (UV)(swap) ); } while (0) | |||
| 3947 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "rex=0x%" "lx" " rolling back offs: 0x%" "lx" " will be freed; restoring data to =0x%" "lx" "\n", 0, (UV)(prog), (UV)(prog->offs), (UV)(swap) ); } while (0); | |||
| 3948 | ||||
| 3949 | Copy(swap, prog->offs, prog->nparens + 1, regexp_paren_pair)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(prog ->nparens + 1) || sizeof(regexp_paren_pair) > ((size_t) 1 << 8*(sizeof(size_t) - sizeof(prog->nparens + 1))) ) ? (size_t)(prog->nparens + 1) : ((size_t)-1)/sizeof(regexp_paren_pair )) > ((size_t)-1)/sizeof(regexp_paren_pair))) ? (_Bool)1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), ((( (void*)(prog->offs)) != 0) ? (void)0 : __assert2("re_exec.c" , 3949, __func__, "((void*)(prog->offs)) != 0")), ((((void *)(swap)) != 0) ? (void)0 : __assert2("re_exec.c", 3949, __func__ , "((void*)(swap)) != 0")), (void)memcpy((char*)(prog->offs ),(const char*)(swap), (prog->nparens + 1) * sizeof(regexp_paren_pair ))); | |||
| 3950 | } | |||
| 3951 | ||||
| 3952 | /* clean up; this will trigger destructors that will free all slabs | |||
| 3953 | * above the current one, and cleanup the regmatch_info_aux | |||
| 3954 | * and regmatch_info_aux_eval sructs */ | |||
| 3955 | ||||
| 3956 | LEAVE_SCOPE(oldsave)do { if (PL_savestack_ix > oldsave) Perl_leave_scope( oldsave ); } while (0); | |||
| 3957 | ||||
| 3958 | return 0; | |||
| 3959 | } | |||
| 3960 | ||||
| 3961 | ||||
| 3962 | /* Set which rex is pointed to by PL_reg_curpm, handling ref counting. | |||
| 3963 | * Do inc before dec, in case old and new rex are the same */ | |||
| 3964 | #define SET_reg_curpm(Re2)if (reginfo->info_aux_eval) { (void)({ REGEXP *const _rerefcnt_inc = (Re2); ((((svtype)((_rerefcnt_inc)->sv_flags & 0xff )) == SVt_REGEXP) ? (void)0 : __assert2("re_exec.c", 3964, __func__ , "SvTYPE(_rerefcnt_inc) == SVt_REGEXP")); Perl_SvREFCNT_inc( ((SV *)({ void *_p = (_rerefcnt_inc); _p; }))); _rerefcnt_inc ; }); ({ REGEXP *const _rerefcnt_dec = (((PL_reg_curpm)->op_pmregexp )); Perl_SvREFCNT_dec( ((SV *)({ void *_p = (_rerefcnt_dec); _p ; }))); }); (((PL_reg_curpm))->op_pmregexp = ((Re2))); } \ | |||
| 3965 | if (reginfo->info_aux_eval) { \ | |||
| 3966 | (void)ReREFCNT_inc(Re2)({ REGEXP *const _rerefcnt_inc = (Re2); ((((svtype)((_rerefcnt_inc )->sv_flags & 0xff)) == SVt_REGEXP) ? (void)0 : __assert2 ("re_exec.c", 3966, __func__, "SvTYPE(_rerefcnt_inc) == SVt_REGEXP" )); Perl_SvREFCNT_inc(((SV *)({ void *_p = (_rerefcnt_inc); _p ; }))); _rerefcnt_inc; }); \ | |||
| 3967 | ReREFCNT_dec(PM_GETRE(PL_reg_curpm))({ REGEXP *const _rerefcnt_dec = (((PL_reg_curpm)->op_pmregexp )); Perl_SvREFCNT_dec( ((SV *)({ void *_p = (_rerefcnt_dec); _p ; }))); }); \ | |||
| 3968 | PM_SETRE((PL_reg_curpm), (Re2))(((PL_reg_curpm))->op_pmregexp = ((Re2))); \ | |||
| 3969 | } | |||
| 3970 | ||||
| 3971 | ||||
| 3972 | /* | |||
| 3973 | - regtry - try match at specific point | |||
| 3974 | */ | |||
| 3975 | STATICstatic bool_Bool /* 0 failure, 1 success */ | |||
| 3976 | S_regtry(pTHX_ regmatch_info *reginfo, char **startposp) | |||
| 3977 | { | |||
| 3978 | CHECKPOINT lastcp; | |||
| 3979 | REGEXP *const rx = reginfo->prog; | |||
| 3980 | regexp *const prog = ReANY(rx)Perl_ReANY((const REGEXP *)(rx)); | |||
| 3981 | SSize_tssize_t result; | |||
| 3982 | #ifdef DEBUGGING | |||
| 3983 | U32 depth = 0; /* used by REGCP_SET */ | |||
| 3984 | #endif | |||
| 3985 | RXi_GET_DECL(prog,progi)regexp_internal *progi = ((regexp_internal *)((prog)->pprivate )); | |||
| 3986 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 3986, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 3986, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 3987 | ||||
| 3988 | PERL_ARGS_ASSERT_REGTRY((reginfo) ? (void)0 : __assert2("re_exec.c", 3988, __func__, "reginfo")); ((startposp) ? (void)0 : __assert2("re_exec.c", 3988, __func__, "startposp")); | |||
| 3989 | ||||
| 3990 | reginfo->cutpoint=NULL((void*)0); | |||
| 3991 | ||||
| 3992 | prog->offs[0].start = *startposp - reginfo->strbeg; | |||
| 3993 | prog->lastparen = 0; | |||
| 3994 | prog->lastcloseparen = 0; | |||
| 3995 | ||||
| 3996 | /* XXXX What this code is doing here?!!! There should be no need | |||
| 3997 | to do this again and again, prog->lastparen should take care of | |||
| 3998 | this! --ilya*/ | |||
| 3999 | ||||
| 4000 | /* Tests pat.t#187 and split.t#{13,14} seem to depend on this code. | |||
| 4001 | * Actually, the code in regcppop() (which Ilya may be meaning by | |||
| 4002 | * prog->lastparen), is not needed at all by the test suite | |||
| 4003 | * (op/regexp, op/pat, op/split), but that code is needed otherwise | |||
| 4004 | * this erroneously leaves $1 defined: "1" =~ /^(?:(\d)x)?\d$/ | |||
| 4005 | * Meanwhile, this code *is* needed for the | |||
| 4006 | * above-mentioned test suite tests to succeed. The common theme | |||
| 4007 | * on those tests seems to be returning null fields from matches. | |||
| 4008 | * --jhi updated by dapm */ | |||
| 4009 | ||||
| 4010 | /* After encountering a variant of the issue mentioned above I think | |||
| 4011 | * the point Ilya was making is that if we properly unwind whenever | |||
| 4012 | * we set lastparen to a smaller value then we should not need to do | |||
| 4013 | * this every time, only when needed. So if we have tests that fail if | |||
| 4014 | * we remove this, then it suggests somewhere else we are improperly | |||
| 4015 | * unwinding the lastparen/paren buffers. See UNWIND_PARENS() and | |||
| 4016 | * places it is called, and related regcp() routines. - Yves */ | |||
| 4017 | #if 1 | |||
| 4018 | if (prog->nparens) { | |||
| 4019 | regexp_paren_pair *pp = prog->offs; | |||
| 4020 | I32 i; | |||
| 4021 | for (i = prog->nparens; i > (I32)prog->lastparen; i--) { | |||
| 4022 | ++pp; | |||
| 4023 | pp->start = -1; | |||
| 4024 | pp->end = -1; | |||
| 4025 | } | |||
| 4026 | } | |||
| 4027 | #endif | |||
| 4028 | REGCP_SET(lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); lastcp = PL_savestack_ix; | |||
| 4029 | result = regmatch(reginfo, *startposp, progi->program + 1)S_regmatch( reginfo,*startposp,progi->program + 1); | |||
| 4030 | if (result != -1) { | |||
| 4031 | prog->offs[0].end = result; | |||
| 4032 | return 1; | |||
| 4033 | } | |||
| 4034 | if (reginfo->cutpoint) | |||
| 4035 | *startposp= reginfo->cutpoint; | |||
| 4036 | REGCP_UNWIND(lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (lastcp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(lastcp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > lastcp) Perl_leave_scope ( lastcp); } while (0); | |||
| 4037 | return 0; | |||
| 4038 | } | |||
| 4039 | ||||
| 4040 | /* this is used to determine how far from the left messages like | |||
| 4041 | 'failed...' are printed in regexec.c. It should be set such that | |||
| 4042 | messages are inline with the regop output that created them. | |||
| 4043 | */ | |||
| 4044 | #define REPORT_CODE_OFF29 29 | |||
| 4045 | #define INDENT_CHARS(depth)((int)(depth) % 20) ((int)(depth) % 20) | |||
| 4046 | #ifdef DEBUGGING | |||
| 4047 | int | |||
| 4048 | Perl_re_exec_indentf(pTHX_ const char *fmt, U32 depth, ...) | |||
| 4049 | { | |||
| 4050 | va_list ap; | |||
| 4051 | int result; | |||
| 4052 | PerlIOPerlIO *f= Perl_debug_logPerl_PerlIO_stderr(); | |||
| 4053 | PERL_ARGS_ASSERT_RE_EXEC_INDENTF((fmt) ? (void)0 : __assert2("re_exec.c", 4053, __func__, "fmt" )); | |||
| 4054 | va_start(ap, depth)__builtin_va_start(ap, depth); | |||
| 4055 | PerlIO_printf(f, "%*s|%4" UVuf"lu" "| %*s", REPORT_CODE_OFF29, "", (UV)depth, INDENT_CHARS(depth)((int)(depth) % 20), "" ); | |||
| 4056 | result = PerlIO_vprintf(f, fmt, ap); | |||
| 4057 | va_end(ap)__builtin_va_end(ap); | |||
| 4058 | return result; | |||
| 4059 | } | |||
| 4060 | #endif /* DEBUGGING */ | |||
| 4061 | ||||
| 4062 | /* grab a new slab and return the first slot in it */ | |||
| 4063 | ||||
| 4064 | STATICstatic regmatch_state * | |||
| 4065 | S_push_slab(pTHXvoid) | |||
| 4066 | { | |||
| 4067 | regmatch_slab *s = PL_regmatch_slab->next; | |||
| 4068 | if (!s) { | |||
| 4069 | Newx(s, 1, regmatch_slab)(s = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof (1) || sizeof(regmatch_slab) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(regmatch_slab )) > ((size_t)-1)/sizeof(regmatch_slab))) ? (_Bool)1 : (_Bool )0),(0)) && (Perl_croak_memory_wrap(),0)), (regmatch_slab *)(Perl_safesysmalloc((size_t)((1)*sizeof(regmatch_slab)))))); | |||
| 4070 | s->prev = PL_regmatch_slab; | |||
| 4071 | s->next = NULL((void*)0); | |||
| 4072 | PL_regmatch_slab->next = s; | |||
| 4073 | } | |||
| 4074 | PL_regmatch_slab = s; | |||
| 4075 | return SLAB_FIRST(s)(&(s)->states[0]); | |||
| 4076 | } | |||
| 4077 | ||||
| 4078 | #ifdef DEBUGGING | |||
| 4079 | ||||
| 4080 | STATICstatic void | |||
| 4081 | S_debug_start_match(pTHX_ const REGEXP *prog, const bool_Bool utf8_target, | |||
| 4082 | const char *start, const char *end, const char *blurb) | |||
| 4083 | { | |||
| 4084 | const bool_Bool utf8_pat = RX_UTF8(prog)((prog)->sv_flags & 0x20000000) ? 1 : 0; | |||
| 4085 | ||||
| 4086 | PERL_ARGS_ASSERT_DEBUG_START_MATCH((prog) ? (void)0 : __assert2("re_exec.c", 4086, __func__, "prog" )); ((start) ? (void)0 : __assert2("re_exec.c", 4086, __func__ , "start")); ((end) ? (void)0 : __assert2("re_exec.c", 4086, __func__ , "end")); ((blurb) ? (void)0 : __assert2("re_exec.c", 4086, __func__ , "blurb")); | |||
| 4087 | ||||
| 4088 | if (!PL_colorset) | |||
| 4089 | reginitcolors()Perl_reginitcolors(); | |||
| 4090 | { | |||
| 4091 | RE_PV_QUOTED_DECL(s0, utf8_pat, PERL_DEBUG_PAD_ZERO(0),const char * const s0 = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4091, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 4091, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 4091, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),((((const char*)(0 + (prog)->sv_u.svu_pv)) + Perl_ReANY ((const REGEXP *)(prog))->pre_prefix)),(((*({ const SV *const _svcur = (const SV *)(prog); ((PL_valid_types_PVX[((svtype)( (_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2 ("re_exec.c", 4092, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4092, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 4092, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - Perl_ReANY((const REGEXP *)(prog))-> pre_prefix - 1)),(PL_dump_re_max_len),PL_colors[0],PL_colors[ 1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_pat) ? 0x000100 : 0))) | |||
| 4092 | RX_PRECOMP_const(prog), RX_PRELEN(prog), PL_dump_re_max_len)const char * const s0 = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[0])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4091, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 4091, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 4091, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[0]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[0]))),((((const char*)(0 + (prog)->sv_u.svu_pv)) + Perl_ReANY ((const REGEXP *)(prog))->pre_prefix)),(((*({ const SV *const _svcur = (const SV *)(prog); ((PL_valid_types_PVX[((svtype)( (_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2 ("re_exec.c", 4092, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4092, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 4092, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - Perl_ReANY((const REGEXP *)(prog))-> pre_prefix - 1)),(PL_dump_re_max_len),PL_colors[0],PL_colors[ 1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_pat) ? 0x000100 : 0))); | |||
| 4093 | ||||
| 4094 | RE_PV_QUOTED_DECL(s1, utf8_target, PERL_DEBUG_PAD_ZERO(1),const char * const s1 = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[1])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4094, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 4094, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 4094, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(start),(end - start),(PL_dump_re_max_len),PL_colors [0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))) | |||
| 4095 | start, end - start, PL_dump_re_max_len)const char * const s1 = Perl_pv_pretty( (((*({ SV *const _svpvx = ((SV *)({ void *_p = (&(PL_debug_pad.pad[1])); _p; })) ; ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4094, __func__ , "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]")); ((!( (((_svpvx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 4094, __func__, "!isGV_with_GP(_svpvx)" )); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 4094, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))[0] = 0, (((XPV*) (& (PL_debug_pad.pad[1]))->sv_any)->xpv_cur = 0), &(PL_debug_pad .pad[1]))),(start),(end - start),(PL_dump_re_max_len),PL_colors [0],PL_colors[1],( 0x000001 | 0x008000 | 0x000400 | 0x000002 | ((utf8_target) ? 0x000100 : 0))); | |||
| 4096 | ||||
| 4097 | Perl_re_printf( aTHX_ | |||
| 4098 | "%s%s REx%s %s against %s\n", | |||
| 4099 | PL_colors[4], blurb, PL_colors[5], s0, s1); | |||
| 4100 | ||||
| 4101 | if (utf8_target||utf8_pat) | |||
| 4102 | Perl_re_printf( aTHX_ "UTF-8 %s%s%s...\n", | |||
| 4103 | utf8_pat ? "pattern" : "", | |||
| 4104 | utf8_pat && utf8_target ? " and " : "", | |||
| 4105 | utf8_target ? "string" : "" | |||
| 4106 | ); | |||
| 4107 | } | |||
| 4108 | } | |||
| 4109 | ||||
| 4110 | STATICstatic void | |||
| 4111 | S_dump_exec_pos(pTHX_ const char *locinput, | |||
| 4112 | const regnode *scan, | |||
| 4113 | const char *loc_regeol, | |||
| 4114 | const char *loc_bostr, | |||
| 4115 | const char *loc_reg_starttry, | |||
| 4116 | const bool_Bool utf8_target, | |||
| 4117 | const U32 depth | |||
| 4118 | ) | |||
| 4119 | { | |||
| 4120 | const int docolor = *PL_colors[0] || *PL_colors[2] || *PL_colors[4]; | |||
| 4121 | const int taill = (docolor ? 10 : 7); /* 3 chars for "> <" */ | |||
| 4122 | int l = (loc_regeol - locinput) > taill ? taill : (loc_regeol - locinput); | |||
| 4123 | /* The part of the string before starttry has one color | |||
| 4124 | (pref0_len chars), between starttry and current | |||
| 4125 | position another one (pref_len - pref0_len chars), | |||
| 4126 | after the current position the third one. | |||
| 4127 | We assume that pref0_len <= pref_len, otherwise we | |||
| 4128 | decrease pref0_len. */ | |||
| 4129 | int pref_len = (locinput - loc_bostr) > (5 + taill) - l | |||
| 4130 | ? (5 + taill) - l : locinput - loc_bostr; | |||
| 4131 | int pref0_len; | |||
| 4132 | ||||
| 4133 | PERL_ARGS_ASSERT_DUMP_EXEC_POS((locinput) ? (void)0 : __assert2("re_exec.c", 4133, __func__ , "locinput")); ((scan) ? (void)0 : __assert2("re_exec.c", 4133 , __func__, "scan")); ((loc_regeol) ? (void)0 : __assert2("re_exec.c" , 4133, __func__, "loc_regeol")); ((loc_bostr) ? (void)0 : __assert2 ("re_exec.c", 4133, __func__, "loc_bostr")); ((loc_reg_starttry ) ? (void)0 : __assert2("re_exec.c", 4133, __func__, "loc_reg_starttry" )); | |||
| 4134 | ||||
| 4135 | while (utf8_target && UTF8_IS_CONTINUATION(*(U8*)(locinput - pref_len))(((( (sizeof(*(U8*)(locinput - pref_len)) == 1) || !(((U64)(( *(U8*)(locinput - pref_len)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 4135, __func__, "( (sizeof(*(U8*)(locinput - pref_len)) == 1) || !(((U64)((*(U8*)(locinput - pref_len)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(U8*)(locinput - pref_len)) == 1) || !(( (U64)((*(U8*)(locinput - pref_len)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 4135, __func__, "( (sizeof(*(U8*)(locinput - pref_len)) == 1) || !(((U64)((*(U8*)(locinput - pref_len)) | 0)) & ~0xFF))" )), ((U8) ((*(U8*)(locinput - pref_len)) | 0))) & ((U8) ( 0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))) )) | |||
| 4136 | pref_len++; | |||
| 4137 | pref0_len = pref_len - (locinput - loc_reg_starttry); | |||
| 4138 | if (l + pref_len < (5 + taill) && l < loc_regeol - locinput) | |||
| 4139 | l = ( loc_regeol - locinput > (5 + taill) - pref_len | |||
| 4140 | ? (5 + taill) - pref_len : loc_regeol - locinput); | |||
| 4141 | while (utf8_target && UTF8_IS_CONTINUATION(*(U8*)(locinput + l))(((( (sizeof(*(U8*)(locinput + l)) == 1) || !(((U64)((*(U8*)( locinput + l)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 4141, __func__, "( (sizeof(*(U8*)(locinput + l)) == 1) || !(((U64)((*(U8*)(locinput + l)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(U8*)(locinput + l)) == 1) || !(((U64)(( *(U8*)(locinput + l)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 4141, __func__, "( (sizeof(*(U8*)(locinput + l)) == 1) || !(((U64)((*(U8*)(locinput + l)) | 0)) & ~0xFF))" )), ((U8) ((*(U8*)(locinput + l)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) | |||
| 4142 | l--; | |||
| 4143 | if (pref0_len < 0) | |||
| 4144 | pref0_len = 0; | |||
| 4145 | if (pref0_len > pref_len) | |||
| 4146 | pref0_len = pref_len; | |||
| 4147 | { | |||
| 4148 | const int is_uni = utf8_target ? 1 : 0; | |||
| 4149 | ||||
| 4150 | RE_PV_COLOR_DECL(s0,len0,is_uni,PERL_DEBUG_PAD(0),const char * const s0 = Perl_pv_pretty( (&(PL_debug_pad.pad [0])),((locinput - pref_len)),(pref0_len),(PL_dump_re_max_len ),PL_colors[(4)],PL_colors[(5)],0x008000|0x000400 |((is_uni) ? 0x000100 : 0)); const int len0 = (*({ const SV *const _svcur = (const SV *)(&(PL_debug_pad.pad[0])); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 4151, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4151, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 4151, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) | |||
| 4151 | (locinput - pref_len),pref0_len, PL_dump_re_max_len, 4, 5)const char * const s0 = Perl_pv_pretty( (&(PL_debug_pad.pad [0])),((locinput - pref_len)),(pref0_len),(PL_dump_re_max_len ),PL_colors[(4)],PL_colors[(5)],0x008000|0x000400 |((is_uni) ? 0x000100 : 0)); const int len0 = (*({ const SV *const _svcur = (const SV *)(&(PL_debug_pad.pad[0])); ((PL_valid_types_PVX [((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 4151, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4151, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 4151, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })); | |||
| 4152 | ||||
| 4153 | RE_PV_COLOR_DECL(s1,len1,is_uni,PERL_DEBUG_PAD(1),const char * const s1 = Perl_pv_pretty( (&(PL_debug_pad.pad [1])),((locinput - pref_len + pref0_len)),(pref_len - pref0_len ),(PL_dump_re_max_len),PL_colors[(2)],PL_colors[(3)],0x008000 |0x000400 |((is_uni) ? 0x000100 : 0)); const int len1 = (*({ const SV *const _svcur = (const SV *)(&(PL_debug_pad.pad[1])); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4155, __func__ , "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]")); ((!( (((_svcur)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 4155, __func__, "!isGV_with_GP(_svcur)" )); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 4155, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) | |||
| 4154 | (locinput - pref_len + pref0_len),const char * const s1 = Perl_pv_pretty( (&(PL_debug_pad.pad [1])),((locinput - pref_len + pref0_len)),(pref_len - pref0_len ),(PL_dump_re_max_len),PL_colors[(2)],PL_colors[(3)],0x008000 |0x000400 |((is_uni) ? 0x000100 : 0)); const int len1 = (*({ const SV *const _svcur = (const SV *)(&(PL_debug_pad.pad[1])); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4155, __func__ , "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]")); ((!( (((_svcur)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 4155, __func__, "!isGV_with_GP(_svcur)" )); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 4155, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) | |||
| 4155 | pref_len - pref0_len, PL_dump_re_max_len, 2, 3)const char * const s1 = Perl_pv_pretty( (&(PL_debug_pad.pad [1])),((locinput - pref_len + pref0_len)),(pref_len - pref0_len ),(PL_dump_re_max_len),PL_colors[(2)],PL_colors[(3)],0x008000 |0x000400 |((is_uni) ? 0x000100 : 0)); const int len1 = (*({ const SV *const _svcur = (const SV *)(&(PL_debug_pad.pad[1])); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4155, __func__ , "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]")); ((!( (((_svcur)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 4155, __func__, "!isGV_with_GP(_svcur)" )); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 4155, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })); | |||
| 4156 | ||||
| 4157 | RE_PV_COLOR_DECL(s2,len2,is_uni,PERL_DEBUG_PAD(2),const char * const s2 = Perl_pv_pretty( (&(PL_debug_pad.pad [2])),(locinput),(loc_regeol - locinput),(10),PL_colors[(0)], PL_colors[(1)],0x008000|0x000400 |((is_uni) ? 0x000100 : 0)); const int len2 = (*({ const SV *const _svcur = (const SV *)( &(PL_debug_pad.pad[2])); ((PL_valid_types_PVX[((svtype)(( _svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2 ("re_exec.c", 4158, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4158, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 4158, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) | |||
| 4158 | locinput, loc_regeol - locinput, 10, 0, 1)const char * const s2 = Perl_pv_pretty( (&(PL_debug_pad.pad [2])),(locinput),(loc_regeol - locinput),(10),PL_colors[(0)], PL_colors[(1)],0x008000|0x000400 |((is_uni) ? 0x000100 : 0)); const int len2 = (*({ const SV *const _svcur = (const SV *)( &(PL_debug_pad.pad[2])); ((PL_valid_types_PVX[((svtype)(( _svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2 ("re_exec.c", 4158, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4158, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 4158, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })); | |||
| 4159 | ||||
| 4160 | const STRLEN tlen=len0+len1+len2; | |||
| 4161 | Perl_re_printf( aTHX_ | |||
| 4162 | "%4" IVdf"ld" " <%.*s%.*s%s%.*s>%*s|%4u| ", | |||
| 4163 | (IV)(locinput - loc_bostr), | |||
| 4164 | len0, s0, | |||
| 4165 | len1, s1, | |||
| 4166 | (docolor ? "" : "> <"), | |||
| 4167 | len2, s2, | |||
| 4168 | (int)(tlen > 19 ? 0 : 19 - tlen), | |||
| 4169 | "", | |||
| 4170 | depth); | |||
| 4171 | } | |||
| 4172 | } | |||
| 4173 | ||||
| 4174 | #endif | |||
| 4175 | ||||
| 4176 | /* reg_check_named_buff_matched() | |||
| 4177 | * Checks to see if a named buffer has matched. The data array of | |||
| 4178 | * buffer numbers corresponding to the buffer is expected to reside | |||
| 4179 | * in the regexp->data->data array in the slot stored in the ARG() of | |||
| 4180 | * node involved. Note that this routine doesn't actually care about the | |||
| 4181 | * name, that information is not preserved from compilation to execution. | |||
| 4182 | * Returns the index of the leftmost defined buffer with the given name | |||
| 4183 | * or 0 if non of the buffers matched. | |||
| 4184 | */ | |||
| 4185 | STATICstatic I32 | |||
| 4186 | S_reg_check_named_buff_matched(const regexp *rex, const regnode *scan) | |||
| 4187 | { | |||
| 4188 | I32 n; | |||
| 4189 | RXi_GET_DECL(rex,rexi)regexp_internal *rexi = ((regexp_internal *)((rex)->pprivate )); | |||
| 4190 | SV *sv_dat= MUTABLE_SV(rexi->data->data[ ARG( scan ) ])((SV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) ]); _p; })); | |||
| 4191 | I32 *nums=(I32*)SvPVX(sv_dat)(*({ SV *const _svpvx = ((SV *)({ void *_p = (sv_dat); _p; }) ); ((PL_valid_types_PVX[((svtype)((_svpvx)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 4191, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4191, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 4191, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); })); | |||
| 4192 | ||||
| 4193 | PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED((rex) ? (void)0 : __assert2("re_exec.c", 4193, __func__, "rex" )); ((scan) ? (void)0 : __assert2("re_exec.c", 4193, __func__ , "scan")); | |||
| 4194 | ||||
| 4195 | for ( n=0; n<SvIVX(sv_dat)(*({ const SV *const _svivx = (const SV *)(sv_dat); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 4195, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 4195, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })); n++ ) { | |||
| 4196 | if ((I32)rex->lastparen >= nums[n] && | |||
| 4197 | rex->offs[nums[n]].end != -1) | |||
| 4198 | { | |||
| 4199 | return nums[n]; | |||
| 4200 | } | |||
| 4201 | } | |||
| 4202 | return 0; | |||
| 4203 | } | |||
| 4204 | ||||
| 4205 | #define CHRTEST_UNINIT-1001 -1001 /* c1/c2 haven't been calculated yet */ | |||
| 4206 | #define CHRTEST_VOID-1000 -1000 /* the c1/c2 "next char" test should be skipped */ | |||
| 4207 | #define CHRTEST_NOT_A_CP_1-999 -999 | |||
| 4208 | #define CHRTEST_NOT_A_CP_2-998 -998 | |||
| 4209 | ||||
| 4210 | static bool_Bool | |||
| 4211 | S_setup_EXACTISH_ST_c1_c2(pTHX_ const regnode * const text_node, int *c1p, | |||
| 4212 | U8* c1_utf8, int *c2p, U8* c2_utf8, regmatch_info *reginfo) | |||
| 4213 | { | |||
| 4214 | /* This function determines if there are zero, one, two, or more characters | |||
| 4215 | * that match the first character of the passed-in EXACTish node | |||
| 4216 | * <text_node>, and if there are one or two, it returns them in the | |||
| 4217 | * passed-in pointers. | |||
| 4218 | * | |||
| 4219 | * If it determines that no possible character in the target string can | |||
| 4220 | * match, it returns FALSE; otherwise TRUE. (The FALSE situation occurs if | |||
| 4221 | * the first character in <text_node> requires UTF-8 to represent, and the | |||
| 4222 | * target string isn't in UTF-8.) | |||
| 4223 | * | |||
| 4224 | * If there are more than two characters that could match the beginning of | |||
| 4225 | * <text_node>, or if more context is required to determine a match or not, | |||
| 4226 | * it sets both *<c1p> and *<c2p> to CHRTEST_VOID. | |||
| 4227 | * | |||
| 4228 | * The motiviation behind this function is to allow the caller to set up | |||
| 4229 | * tight loops for matching. If <text_node> is of type EXACT, there is | |||
| 4230 | * only one possible character that can match its first character, and so | |||
| 4231 | * the situation is quite simple. But things get much more complicated if | |||
| 4232 | * folding is involved. It may be that the first character of an EXACTFish | |||
| 4233 | * node doesn't participate in any possible fold, e.g., punctuation, so it | |||
| 4234 | * can be matched only by itself. The vast majority of characters that are | |||
| 4235 | * in folds match just two things, their lower and upper-case equivalents. | |||
| 4236 | * But not all are like that; some have multiple possible matches, or match | |||
| 4237 | * sequences of more than one character. This function sorts all that out. | |||
| 4238 | * | |||
| 4239 | * Consider the patterns A*B or A*?B where A and B are arbitrary. In a | |||
| 4240 | * loop of trying to match A*, we know we can't exit where the thing | |||
| 4241 | * following it isn't a B. And something can't be a B unless it is the | |||
| 4242 | * beginning of B. By putting a quick test for that beginning in a tight | |||
| 4243 | * loop, we can rule out things that can't possibly be B without having to | |||
| 4244 | * break out of the loop, thus avoiding work. Similarly, if A is a single | |||
| 4245 | * character, we can make a tight loop matching A*, using the outputs of | |||
| 4246 | * this function. | |||
| 4247 | * | |||
| 4248 | * If the target string to match isn't in UTF-8, and there aren't | |||
| 4249 | * complications which require CHRTEST_VOID, *<c1p> and *<c2p> are set to | |||
| 4250 | * the one or two possible octets (which are characters in this situation) | |||
| 4251 | * that can match. In all cases, if there is only one character that can | |||
| 4252 | * match, *<c1p> and *<c2p> will be identical. | |||
| 4253 | * | |||
| 4254 | * If the target string is in UTF-8, the buffers pointed to by <c1_utf8> | |||
| 4255 | * and <c2_utf8> will contain the one or two UTF-8 sequences of bytes that | |||
| 4256 | * can match the beginning of <text_node>. They should be declared with at | |||
| 4257 | * least length UTF8_MAXBYTES+1. (If the target string isn't in UTF-8, it is | |||
| 4258 | * undefined what these contain.) If one or both of the buffers are | |||
| 4259 | * invariant under UTF-8, *<c1p>, and *<c2p> will also be set to the | |||
| 4260 | * corresponding invariant. If variant, the corresponding *<c1p> and/or | |||
| 4261 | * *<c2p> will be set to a negative number(s) that shouldn't match any code | |||
| 4262 | * point (unless inappropriately coerced to unsigned). *<c1p> will equal | |||
| 4263 | * *<c2p> if and only if <c1_utf8> and <c2_utf8> are the same. */ | |||
| 4264 | ||||
| 4265 | const bool_Bool utf8_target = reginfo->is_utf8_target; | |||
| 4266 | ||||
| 4267 | UV c1 = (UV)CHRTEST_NOT_A_CP_1-999; | |||
| 4268 | UV c2 = (UV)CHRTEST_NOT_A_CP_2-998; | |||
| 4269 | bool_Bool use_chrtest_void = FALSE(0); | |||
| 4270 | const bool_Bool is_utf8_pat = reginfo->is_utf8_pat; | |||
| 4271 | ||||
| 4272 | /* Used when we have both utf8 input and utf8 output, to avoid converting | |||
| 4273 | * to/from code points */ | |||
| 4274 | bool_Bool utf8_has_been_setup = FALSE(0); | |||
| 4275 | ||||
| 4276 | dVARstruct Perl___notused_struct; | |||
| 4277 | ||||
| 4278 | U8 *pat = (U8*)STRING(text_node)((((text_node)->type) == 41 || ((text_node)->type) == 51 ) ? (((((text_node)->type) == 41 || ((text_node)->type) == 51) ? (void)0 : __assert2("re_exec.c", 4278, __func__, "((text_node)->type) == 41 || ((text_node)->type) == 51" )), (((struct regnode_lstring *)text_node)->string)) : ((( ((text_node)->type) != 41 && ((text_node)->type ) != 51) ? (void)0 : __assert2("re_exec.c", 4278, __func__, "((text_node)->type) != 41 && ((text_node)->type) != 51" )), ((struct regnode_string *)text_node)->string)); | |||
| 4279 | U8 folded[UTF8_MAX_FOLD_CHAR_EXPAND3 * 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] = { '\0' }; | |||
| 4280 | ||||
| 4281 | if ( OP(text_node)((text_node)->type) == EXACT40 | |||
| 4282 | || OP(text_node)((text_node)->type) == LEXACT41 | |||
| 4283 | || OP(text_node)((text_node)->type) == EXACT_REQ850 | |||
| 4284 | || OP(text_node)((text_node)->type) == LEXACT_REQ851 | |||
| 4285 | || OP(text_node)((text_node)->type) == EXACTL42) | |||
| 4286 | { | |||
| 4287 | ||||
| 4288 | /* In an exact node, only one thing can be matched, that first | |||
| 4289 | * character. If both the pat and the target are UTF-8, we can just | |||
| 4290 | * copy the input to the output, avoiding finding the code point of | |||
| 4291 | * that character */ | |||
| 4292 | if (!is_utf8_pat) { | |||
| 4293 | assert( OP(text_node) != EXACT_REQ8((((text_node)->type) != 50 && ((text_node)->type ) != 51) ? (void)0 : __assert2("re_exec.c", 4294, __func__, "OP(text_node) != EXACT_REQ8 && OP(text_node) != LEXACT_REQ8" )) | |||
| 4294 | && OP(text_node) != LEXACT_REQ8)((((text_node)->type) != 50 && ((text_node)->type ) != 51) ? (void)0 : __assert2("re_exec.c", 4294, __func__, "OP(text_node) != EXACT_REQ8 && OP(text_node) != LEXACT_REQ8" )); | |||
| 4295 | c2 = c1 = *pat; | |||
| 4296 | } | |||
| 4297 | else if (utf8_target) { | |||
| 4298 | Copy(pat, c1_utf8, UTF8SKIP(pat), U8)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(PL_utf8skip [*(const U8*)(pat)]) || sizeof(U8) > ((size_t)1 << 8 *(sizeof(size_t) - sizeof(PL_utf8skip[*(const U8*)(pat)])))) ? (size_t)(PL_utf8skip[*(const U8*)(pat)]) : ((size_t)-1)/sizeof (U8)) > ((size_t)-1)/sizeof(U8))) ? (_Bool)1 : (_Bool)0),( 0)) && (Perl_croak_memory_wrap(),0)), ((((void*)(c1_utf8 )) != 0) ? (void)0 : __assert2("re_exec.c", 4298, __func__, "((void*)(c1_utf8)) != 0" )), ((((void*)(pat)) != 0) ? (void)0 : __assert2("re_exec.c", 4298, __func__, "((void*)(pat)) != 0")), (void)memcpy((char* )(c1_utf8),(const char*)(pat), (PL_utf8skip[*(const U8*)(pat) ]) * sizeof(U8))); | |||
| 4299 | Copy(pat, c2_utf8, UTF8SKIP(pat), U8)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(PL_utf8skip [*(const U8*)(pat)]) || sizeof(U8) > ((size_t)1 << 8 *(sizeof(size_t) - sizeof(PL_utf8skip[*(const U8*)(pat)])))) ? (size_t)(PL_utf8skip[*(const U8*)(pat)]) : ((size_t)-1)/sizeof (U8)) > ((size_t)-1)/sizeof(U8))) ? (_Bool)1 : (_Bool)0),( 0)) && (Perl_croak_memory_wrap(),0)), ((((void*)(c2_utf8 )) != 0) ? (void)0 : __assert2("re_exec.c", 4299, __func__, "((void*)(c2_utf8)) != 0" )), ((((void*)(pat)) != 0) ? (void)0 : __assert2("re_exec.c", 4299, __func__, "((void*)(pat)) != 0")), (void)memcpy((char* )(c2_utf8),(const char*)(pat), (PL_utf8skip[*(const U8*)(pat) ]) * sizeof(U8))); | |||
| 4300 | utf8_has_been_setup = TRUE(1); | |||
| 4301 | } | |||
| 4302 | else if ( OP(text_node)((text_node)->type) == EXACT_REQ850 | |||
| 4303 | || OP(text_node)((text_node)->type) == LEXACT_REQ851) | |||
| 4304 | { | |||
| 4305 | return FALSE(0); /* Can only match UTF-8 target */ | |||
| 4306 | } | |||
| 4307 | else { | |||
| 4308 | c2 = c1 = valid_utf8_to_uvchrPerl_valid_utf8_to_uvchr(pat, NULL((void*)0)); | |||
| 4309 | } | |||
| 4310 | } | |||
| 4311 | else { /* an EXACTFish node */ | |||
| 4312 | U8 *pat_end = pat + STR_LENs(text_node)(((((text_node)->type) != 41 && ((text_node)->type ) != 51) ? (void)0 : __assert2("re_exec.c", 4312, __func__, "((text_node)->type) != 41 && ((text_node)->type) != 51" )), ((struct regnode_string *)text_node)->str_len); | |||
| 4313 | ||||
| 4314 | /* An EXACTFL node has at least some characters unfolded, because what | |||
| 4315 | * they match is not known until now. So, now is the time to fold | |||
| 4316 | * the first few of them, as many as are needed to determine 'c1' and | |||
| 4317 | * 'c2' later in the routine. If the pattern isn't UTF-8, we only need | |||
| 4318 | * to fold if in a UTF-8 locale, and then only the Sharp S; everything | |||
| 4319 | * else is 1-1 and isn't assumed to be folded. In a UTF-8 pattern, we | |||
| 4320 | * need to fold as many characters as a single character can fold to, | |||
| 4321 | * so that later we can check if the first ones are such a multi-char | |||
| 4322 | * fold. But, in such a pattern only locale-problematic characters | |||
| 4323 | * aren't folded, so we can skip this completely if the first character | |||
| 4324 | * in the node isn't one of the tricky ones */ | |||
| 4325 | if (OP(text_node)((text_node)->type) == EXACTFL44) { | |||
| 4326 | ||||
| 4327 | if (! is_utf8_pat) { | |||
| 4328 | if (IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale && *pat == LATIN_SMALL_LETTER_SHARP_S0xDF) | |||
| 4329 | { | |||
| 4330 | folded[0] = folded[1] = 's'; | |||
| 4331 | pat = folded; | |||
| 4332 | pat_end = folded + 2; | |||
| 4333 | } | |||
| 4334 | } | |||
| 4335 | else if (is_PROBLEMATIC_LOCALE_FOLDEDS_START_utf8(pat)( ( ((const U8*)pat)[0] <= 0x7F ) ? 1 : ( ((((0xC3) >= ( 0xC2)) ? (void)0 : __assert2("re_exec.c", 4335, __func__, "(0xC3) >= (0xC2)" )), ( (sizeof(((const U8*)pat)[0]) == sizeof(U8)) ? ((((NV) ( (0xC2)) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__ , "(NV) ((0xC2)) >= 0")), (((NV) (((0xC3) - (0xC2))) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) (((0xC3) - (0xC2))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[0])))) - (((0xC2)) | 0 ))) <= (((U64) ((((0xC3) - (0xC2))) | 0))))) : (sizeof(((const U8*)pat)[0]) == sizeof(U32)) ? ((((NV) ((0xC2)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0xC2)) >= 0" )), (((NV) (((0xC3) - (0xC2))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0xC3) - (0xC2))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[0])))) - (((0xC2)) | 0 ))) <= (((U64) ((((0xC3) - (0xC2))) | 0))))) : (((sizeof(( (const U8*)pat)[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "sizeof(((const U8*)pat)[0]) == sizeof(U64)" )), ((((NV) ((0xC2)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "(NV) ((0xC2)) >= 0")), (((NV) (((0xC3) - (0xC2))) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__ , "(NV) (((0xC3) - (0xC2))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[0])))) - (((0xC2)) | 0))) <= (((U64) ((((0xC3 ) - (0xC2))) | 0)))))))) ) ? 2 : ( 0xC4 == ((const U8*)pat)[0 ] ) ? ( ( ((((0xB1) >= (0xB0)) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "(0xB1) >= (0xB0)")), ( (sizeof(((const U8 *)pat)[1]) == sizeof(U8)) ? ((((NV) ((0xB0)) >= 0) ? (void )0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0xB0)) >= 0" )), (((NV) (((0xB1) - (0xB0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0xB1) - (0xB0))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0xB0)) | 0 ))) <= (((U64) ((((0xB1) - (0xB0))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32)) ? ((((NV) ((0xB0)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0xB0)) >= 0" )), (((NV) (((0xB1) - (0xB0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0xB1) - (0xB0))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0xB0)) | 0 ))) <= (((U64) ((((0xB1) - (0xB0))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0xB0)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "(NV) ((0xB0)) >= 0")), (((NV) (((0xB1) - (0xB0))) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__ , "(NV) (((0xB1) - (0xB0))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0xB0)) | 0))) <= (((U64) ((((0xB1 ) - (0xB0))) | 0)))))))) ) ? 2 : 0 ) : ( 0xC5 == ((const U8*) pat)[0] ) ? ( ( 0x89 == ((const U8*)pat)[1] || 0xB8 == ((const U8*)pat)[1] || 0xBF == ((const U8*)pat)[1] ) ? 2 : 0 ): ( 0xC7 == ((const U8*)pat)[0] ) ? ( ( 0xB0 == ((const U8*)pat)[1] ) ? 2 : 0 ) : ( 0xCA == ((const U8*)pat)[0] ) ? ( ( 0xBC == (( const U8*)pat)[1] ) ? 2 : 0 ) : ( 0xCE == ((const U8*)pat)[0] ) ? ( ( ( ((const U8*)pat)[1] & 0xDF ) == 0x9C ) ? 2 : 0 ) : ( 0xE1 == ((const U8*)pat)[0] ) ? ( ( ( 0xBA == ((const U8 *)pat)[1] ) && ( ((((0x9A) >= (0x96)) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(0x9A) >= (0x96)")), ( (sizeof (((const U8*)pat)[2]) == sizeof(U8)) ? ((((NV) ((0x96)) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0x96)) >= 0" )), (((NV) (((0x9A) - (0x96))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0x9A) - (0x96))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[2])))) - (((0x96)) | 0 ))) <= (((U64) ((((0x9A) - (0x96))) | 0))))) : (sizeof(((const U8*)pat)[2]) == sizeof(U32)) ? ((((NV) ((0x96)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0x96)) >= 0" )), (((NV) (((0x9A) - (0x96))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0x9A) - (0x96))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[2])))) - (((0x96)) | 0 ))) <= (((U64) ((((0x9A) - (0x96))) | 0))))) : (((sizeof(( (const U8*)pat)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "sizeof(((const U8*)pat)[2]) == sizeof(U64)" )), ((((NV) ((0x96)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "(NV) ((0x96)) >= 0")), (((NV) (((0x9A) - (0x96))) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__ , "(NV) (((0x9A) - (0x96))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[2])))) - (((0x96)) | 0))) <= (((U64) ((((0x9A ) - (0x96))) | 0)))))))) || 0x9E == ((const U8*)pat)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)pat)[0] ) ? ( ( ( 0x84 == ((const U8*)pat)[1] ) && ( ((((0xAB) >= (0xAA)) ? (void)0 : __assert2("re_exec.c", 4335, __func__, "(0xAB) >= (0xAA)" )), ( (sizeof(((const U8*)pat)[2]) == sizeof(U8)) ? ((((NV) ( (0xAA)) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__ , "(NV) ((0xAA)) >= 0")), (((NV) (((0xAB) - (0xAA))) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) (((0xAB) - (0xAA))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[2])))) - (((0xAA)) | 0 ))) <= (((U64) ((((0xAB) - (0xAA))) | 0))))) : (sizeof(((const U8*)pat)[2]) == sizeof(U32)) ? ((((NV) ((0xAA)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0xAA)) >= 0" )), (((NV) (((0xAB) - (0xAA))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0xAB) - (0xAA))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[2])))) - (((0xAA)) | 0 ))) <= (((U64) ((((0xAB) - (0xAA))) | 0))))) : (((sizeof(( (const U8*)pat)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "sizeof(((const U8*)pat)[2]) == sizeof(U64)" )), ((((NV) ((0xAA)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "(NV) ((0xAA)) >= 0")), (((NV) (((0xAB) - (0xAA))) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__ , "(NV) (((0xAB) - (0xAA))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[2])))) - (((0xAA)) | 0))) <= (((U64) ((((0xAB ) - (0xAA))) | 0)))))))) ) ) ? 3 : 0 ): ( ( ( 0xEF == ((const U8*)pat)[0] ) && ( 0xAC == ((const U8*)pat)[1] ) ) && ( ((((0x86) >= (0x80)) ? (void)0 : __assert2("re_exec.c", 4335, __func__, "(0x86) >= (0x80)")), ( (sizeof(((const U8 *)pat)[2]) == sizeof(U8)) ? ((((NV) ((0x80)) >= 0) ? (void )0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x86) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0x86) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[2])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x86) - (0x80))) | 0))))) : (sizeof(((const U8*)pat)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4335, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x86) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4335, __func__, "(NV) (((0x86) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[2])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x86) - (0x80))) | 0))))) : (((sizeof(( (const U8*)pat)[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "sizeof(((const U8*)pat)[2]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4335, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x86) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 4335, __func__ , "(NV) (((0x86) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x86 ) - (0x80))) | 0)))))))) ) ) ? 3 : 0 )) { | |||
| 4336 | U8 *s = pat; | |||
| 4337 | U8 *d = folded; | |||
| 4338 | int i; | |||
| 4339 | ||||
| 4340 | for (i = 0; i < UTF8_MAX_FOLD_CHAR_EXPAND3 && s < pat_end; i++) { | |||
| 4341 | if (isASCII(*s)((U64)((*s) | 0) < 128) && LIKELY(! PL_in_utf8_turkic_locale)__builtin_expect(((! PL_in_utf8_turkic_locale) ? (_Bool)1 : ( _Bool)0),(1))) { | |||
| 4342 | *(d++) = (U8) toFOLD_LC(*s)((__builtin_expect(((((*s)) == 0xB5) ? (_Bool)1 : (_Bool)0),( 0)) && PL_in_utf8_CTYPE_locale) ? 0x03BC : (((! PL_in_utf8_CTYPE_locale || ((*s)) != 0xDF) ? (void)0 : __assert2("re_exec.c", 4342, __func__ , "! PL_in_utf8_CTYPE_locale || ((*s)) != 0xDF")), (! ( (sizeof ((*s)) == 1) || !(((U64)(((*s)) | 0)) & ~0xFF)) ? ((*s)) : (PL_in_utf8_CTYPE_locale) ? PL_latin1_lc[ (U8) ((*s)) ] : (U8 )tolower((U8)((*s)))))); | |||
| 4343 | s++; | |||
| 4344 | } | |||
| 4345 | else { | |||
| 4346 | STRLEN len; | |||
| 4347 | _toFOLD_utf8_flags(s,Perl__to_utf8_fold_flags( s,pat_end,d,&len,0x2 | 0x1) | |||
| 4348 | pat_end,Perl__to_utf8_fold_flags( s,pat_end,d,&len,0x2 | 0x1) | |||
| 4349 | d,Perl__to_utf8_fold_flags( s,pat_end,d,&len,0x2 | 0x1) | |||
| 4350 | &len,Perl__to_utf8_fold_flags( s,pat_end,d,&len,0x2 | 0x1) | |||
| 4351 | FOLD_FLAGS_FULL | FOLD_FLAGS_LOCALE)Perl__to_utf8_fold_flags( s,pat_end,d,&len,0x2 | 0x1); | |||
| 4352 | d += len; | |||
| 4353 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 4354 | } | |||
| 4355 | } | |||
| 4356 | ||||
| 4357 | pat = folded; | |||
| 4358 | pat_end = d; | |||
| 4359 | } | |||
| 4360 | } | |||
| 4361 | ||||
| 4362 | if ( ( is_utf8_pat && is_MULTI_CHAR_FOLD_utf8_safe(pat, pat_end)( ((pat_end)-(pat) > 5) ? ( ( 0x61 == ((const U8*)pat)[0] ) ? ( ( ( 0xCA == ((const U8*)pat)[1] ) && ( 0xBE == ( (const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x66 == ((const U8*)pat) [0] ) ? ( ( 0x66 == ((const U8*)pat)[1] ) ? ( ( 0x69 == ((const U8*)pat)[2] || 0x6C == ((const U8*)pat)[2] ) ? 3 : 2 ) : ( 0x69 == ((const U8*)pat)[1] || 0x6C == ((const U8*)pat)[1] ) ? 2 : 0 ) : ( 0x68 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0xB1 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x69 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == (( const U8*)pat)[1] ) && ( 0x87 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x6A == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x8C == ((const U8*)pat)[ 2] ) ) ? 3 : 0 ) : ( 0x73 == ((const U8*)pat)[0] ) ? ( ( (((( 0x74) >= (0x73)) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(0x74) >= (0x73)")), ( (sizeof(((const U8*)pat)[1]) == sizeof (U8)) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32 )) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U32) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0))))) : (((sizeof(((const U8*)pat)[1]) == sizeof (U64)) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0)))))))) ) ? 2 : 0 ) : ( 0x74 == ((const U8*) pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x88 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x77 == ((const U8* )pat)[0] || 0x79 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x8A == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0xC5 == ((const U8*)pat)[0] ) ? ( ( ( ( 0xBF == ( (const U8*)pat)[1] ) && ( 0xC5 == ((const U8*)pat)[2] ) ) && ( 0xBF == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xCA == ((const U8*)pat)[0] ) ? ( ( ( 0xBC == ((const U8*) pat)[1] ) && ( 0x6E == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0xCE == ((const U8*)pat)[0] ) ? ( ( ( ((const U8*)pat) [1] & 0xFD ) == 0xAC ) ? ( ( ( 0xCE == ((const U8*)pat)[2 ] ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xB1 == ((const U8*)pat)[1] || 0xB7 == ((const U8*)pat)[1] ) ? ( ( 0xCD == ((const U8*)pat)[2] ) ? ( ( 0x82 == ((const U8 *)pat)[3] ) ? ( ( ( 0xCE == ((const U8*)pat)[4] ) && ( 0xB9 == ((const U8*)pat)[5] ) ) ? 6 : 4 ) : 0 ) : ( ( 0xCE == ((const U8*)pat)[2] ) && ( 0xB9 == ((const U8*)pat)[ 3] ) ) ? 4 : 0 ) : ( 0xB9 == ((const U8*)pat)[1] ) ? ( ( 0xCC == ((const U8*)pat)[2] ) ? ( ( 0x88 == ((const U8*)pat)[3] ) ? ( ( 0xCC == ((const U8*)pat)[4] ) ? ( ( ((((0x81) >= (0x80 )) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(0x81) >= (0x80)" )), ( (sizeof(((const U8*)pat)[5]) == sizeof(U8)) ? ((((NV) ( (0x80)) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) ((0x80)) >= 0")), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) (((0x81) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[5])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x81) - (0x80))) | 0))))) : (sizeof(((const U8*)pat)[5]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) (((0x81) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[5])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x81) - (0x80))) | 0))))) : (((sizeof(( (const U8*)pat)[5]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "sizeof(((const U8*)pat)[5]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x81) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[5])))) - (((0x80)) | 0))) <= (((U64) ((((0x81 ) - (0x80))) | 0)))))))) ) ? 6 : 0 ) : ( ( 0xCD == ((const U8 *)pat)[4] ) && ( 0x82 == ((const U8*)pat)[5] ) ) ? 6 : 0 ) : 0 ) : ( ( 0xCD == ((const U8*)pat)[2] ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : 0 ) : ( 0xCF == ((const U8*)pat)[0] ) ? ( ( 0x81 == ((const U8*)pat)[1] ) ? ( ( ( 0xCC == ((const U8*)pat)[2] ) && ( 0x93 == ((const U8*)pat )[3] ) ) ? 4 : 0 ) : ( 0x85 == ((const U8*)pat)[1] ) ? ( ( 0xCC == ((const U8*)pat)[2] ) ? ( ( 0x88 == ((const U8*)pat)[3] ) ? ( ( 0xCC == ((const U8*)pat)[4] ) ? ( ( ((((0x81) >= (0x80 )) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(0x81) >= (0x80)" )), ( (sizeof(((const U8*)pat)[5]) == sizeof(U8)) ? ((((NV) ( (0x80)) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) ((0x80)) >= 0")), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) (((0x81) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[5])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x81) - (0x80))) | 0))))) : (sizeof(((const U8*)pat)[5]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) (((0x81) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[5])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x81) - (0x80))) | 0))))) : (((sizeof(( (const U8*)pat)[5]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "sizeof(((const U8*)pat)[5]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x81) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[5])))) - (((0x80)) | 0))) <= (((U64) ((((0x81 ) - (0x80))) | 0)))))))) ) ? 6 : 0 ) : ( ( 0xCD == ((const U8 *)pat)[4] ) && ( 0x82 == ((const U8*)pat)[5] ) ) ? 6 : 0 ) : ( 0x93 == ((const U8*)pat)[3] ) ? ( ( 0xCC == ((const U8 *)pat)[4] ) ? ( ( ((((0x81) >= (0x80)) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(0x81) >= (0x80)")), ( (sizeof (((const U8*)pat)[5]) == sizeof(U8)) ? ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) (((0x81) - (0x80))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[5])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x81) - (0x80))) | 0))))) : (sizeof(((const U8*)pat)[5]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) (((0x81) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[5])))) - (((0x80)) | 0 ))) <= (((U64) ((((0x81) - (0x80))) | 0))))) : (((sizeof(( (const U8*)pat)[5]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "sizeof(((const U8*)pat)[5]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x81) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x81) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[5])))) - (((0x80)) | 0))) <= (((U64) ((((0x81 ) - (0x80))) | 0)))))))) ) ? 6 : 4 ) : ( ( 0xCD == ((const U8 *)pat)[4] ) && ( 0x82 == ((const U8*)pat)[5] ) ) ? 6 : 4 ) : 0 ) : ( ( 0xCD == ((const U8*)pat)[2] ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0x89 == ((const U8* )pat)[1] ) ? ( ( 0xCD == ((const U8*)pat)[2] ) ? ( ( 0x82 == ( (const U8*)pat)[3] ) ? ( ( ( 0xCE == ((const U8*)pat)[4] ) && ( 0xB9 == ((const U8*)pat)[5] ) ) ? 6 : 4 ) : 0 ) : ( ( 0xCE == ((const U8*)pat)[2] ) && ( 0xB9 == ((const U8*)pat )[3] ) ) ? 4 : 0 ) : ( ( ( 0x8E == ((const U8*)pat)[1] ) && ( 0xCE == ((const U8*)pat)[2] ) ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xD5 == ((const U8*)pat)[0] ) ? ( ( 0xA5 == ((const U8*)pat)[1] ) ? ( ( ( 0xD6 == ((const U8 *)pat)[2] ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xB4 == ((const U8*)pat)[1] ) ? ( ( ( 0xD5 == ((const U8*)pat)[2] ) && ( ( ( ((const U8*)pat)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)pat)[3] == 0xAB || ((const U8*)pat )[3] == 0xB6 ) ) ? 4 : 0 ) : ( ( ( 0xBE == ((const U8*)pat)[1 ] ) && ( 0xD5 == ((const U8*)pat)[2] ) ) && ( 0xB6 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xE1 == ((const U8*)pat)[0] ) ? ( ( 0xBC == ((const U8*)pat)[1] ) ? ( ( ( ( ( ((const U8*)pat)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)pat)[3] ) ) && ( 0xB9 == ((const U8*) pat)[4] ) ) ? 5 : 0 ) : ( ( ( ( 0xBD == ((const U8*)pat)[1] ) && ( ( ( ((const U8*)pat)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)pat)[2] & 0xFB ) == 0xB0 ) || ((const U8 *)pat)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)pat)[3 ] ) ) && ( 0xB9 == ((const U8*)pat)[4] ) ) ? 5 : 0 ) : 0 ) : ((pat_end)-(pat) > 4) ? ( ( 0x61 == ((const U8*)pat )[0] ) ? ( ( ( 0xCA == ((const U8*)pat)[1] ) && ( 0xBE == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x66 == ((const U8* )pat)[0] ) ? ( ( 0x66 == ((const U8*)pat)[1] ) ? ( ( 0x69 == ( (const U8*)pat)[2] || 0x6C == ((const U8*)pat)[2] ) ? 3 : 2 ) : ( 0x69 == ((const U8*)pat)[1] || 0x6C == ((const U8*)pat)[ 1] ) ? 2 : 0 ) : ( 0x68 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0xB1 == ((const U8*)pat )[2] ) ) ? 3 : 0 ) : ( 0x69 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x87 == ((const U8*)pat )[2] ) ) ? 3 : 0 ) : ( 0x6A == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x8C == ((const U8*)pat )[2] ) ) ? 3 : 0 ) : ( 0x73 == ((const U8*)pat)[0] ) ? ( ( (( ((0x74) >= (0x73)) ? (void)0 : __assert2("re_exec.c", 4362 , __func__, "(0x74) >= (0x73)")), ( (sizeof(((const U8*)pat )[1]) == sizeof(U8)) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV ) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) (((0x74) - (0x73))) >= 0")), (((U64 ) (((((U8) (((const U8*)pat)[1])))) - (((0x73)) | 0))) <= ( ((U64) ((((0x74) - (0x73))) | 0))))) : (sizeof(((const U8*)pat )[1]) == sizeof(U32)) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) ((0x73)) >= 0" )), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0)))))))) ) ? 2 : 0 ) : ( 0x74 == ((const U8*) pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x88 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x77 == ((const U8* )pat)[0] || 0x79 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x8A == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0xC5 == ((const U8*)pat)[0] ) ? ( ( ( ( 0xBF == ( (const U8*)pat)[1] ) && ( 0xC5 == ((const U8*)pat)[2] ) ) && ( 0xBF == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xCA == ((const U8*)pat)[0] ) ? ( ( ( 0xBC == ((const U8*) pat)[1] ) && ( 0x6E == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0xCE == ((const U8*)pat)[0] ) ? ( ( ( ((const U8*)pat) [1] & 0xFD ) == 0xAC ) ? ( ( ( 0xCE == ((const U8*)pat)[2 ] ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xB1 == ((const U8*)pat)[1] || 0xB7 == ((const U8*)pat)[1] ) ? ( ( 0xCD == ((const U8*)pat)[2] ) ? ( ( 0x82 == ((const U8 *)pat)[3] ) ? 4 : 0 ) : ( ( 0xCE == ((const U8*)pat)[2] ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( ( ( 0xB9 == ( (const U8*)pat)[1] ) && ( 0xCD == ((const U8*)pat)[2] ) ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xCF == ((const U8*)pat)[0] ) ? ( ( 0x81 == ((const U8*)pat )[1] ) ? ( ( ( 0xCC == ((const U8*)pat)[2] ) && ( 0x93 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0x85 == ((const U8* )pat)[1] ) ? ( ( 0xCC == ((const U8*)pat)[2] ) ? ( ( 0x93 == ( (const U8*)pat)[3] ) ? 4 : 0 ) : ( ( 0xCD == ((const U8*)pat) [2] ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0x89 == ((const U8*)pat)[1] ) ? ( ( 0xCD == ((const U8*)pat )[2] ) ? ( ( 0x82 == ((const U8*)pat)[3] ) ? 4 : 0 ) : ( ( 0xCE == ((const U8*)pat)[2] ) && ( 0xB9 == ((const U8*)pat )[3] ) ) ? 4 : 0 ) : ( ( ( 0x8E == ((const U8*)pat)[1] ) && ( 0xCE == ((const U8*)pat)[2] ) ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xD5 == ((const U8*)pat)[0] ) ? ( ( 0xA5 == ((const U8*)pat)[1] ) ? ( ( ( 0xD6 == ((const U8 *)pat)[2] ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xB4 == ((const U8*)pat)[1] ) ? ( ( ( 0xD5 == ((const U8*)pat)[2] ) && ( ( ( ((const U8*)pat)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)pat)[3] == 0xAB || ((const U8*)pat )[3] == 0xB6 ) ) ? 4 : 0 ) : ( ( ( 0xBE == ((const U8*)pat)[1 ] ) && ( 0xD5 == ((const U8*)pat)[2] ) ) && ( 0xB6 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xE1 == ((const U8*)pat)[0] ) ? ( ( 0xBC == ((const U8*)pat)[1] ) ? ( ( ( ( ( ((const U8*)pat)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((const U8*)pat)[3] ) ) && ( 0xB9 == ((const U8*) pat)[4] ) ) ? 5 : 0 ) : ( ( ( ( 0xBD == ((const U8*)pat)[1] ) && ( ( ( ((const U8*)pat)[2] & 0xF8 ) == 0xA0 ) || ( ( ((const U8*)pat)[2] & 0xFB ) == 0xB0 ) || ((const U8 *)pat)[2] == 0xBC ) ) && ( 0xCE == ((const U8*)pat)[3 ] ) ) && ( 0xB9 == ((const U8*)pat)[4] ) ) ? 5 : 0 ) : 0 ) : ( ((pat_end)-(pat) > 3) ? ( ( 0x61 == ((const U8*)pat )[0] ) ? ( ( ( 0xCA == ((const U8*)pat)[1] ) && ( 0xBE == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x66 == ((const U8* )pat)[0] ) ? ( ( 0x66 == ((const U8*)pat)[1] ) ? ( ( 0x69 == ( (const U8*)pat)[2] || 0x6C == ((const U8*)pat)[2] ) ? 3 : 2 ) : ( 0x69 == ((const U8*)pat)[1] || 0x6C == ((const U8*)pat)[ 1] ) ? 2 : 0 ) : ( 0x68 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0xB1 == ((const U8*)pat )[2] ) ) ? 3 : 0 ) : ( 0x69 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x87 == ((const U8*)pat )[2] ) ) ? 3 : 0 ) : ( 0x6A == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x8C == ((const U8*)pat )[2] ) ) ? 3 : 0 ) : ( 0x73 == ((const U8*)pat)[0] ) ? ( ( (( ((0x74) >= (0x73)) ? (void)0 : __assert2("re_exec.c", 4362 , __func__, "(0x74) >= (0x73)")), ( (sizeof(((const U8*)pat )[1]) == sizeof(U8)) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV ) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) (((0x74) - (0x73))) >= 0")), (((U64 ) (((((U8) (((const U8*)pat)[1])))) - (((0x73)) | 0))) <= ( ((U64) ((((0x74) - (0x73))) | 0))))) : (sizeof(((const U8*)pat )[1]) == sizeof(U32)) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) ((0x73)) >= 0" )), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0)))))))) ) ? 2 : 0 ) : ( 0x74 == ((const U8*) pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x88 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x77 == ((const U8* )pat)[0] || 0x79 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x8A == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0xC5 == ((const U8*)pat)[0] ) ? ( ( ( ( 0xBF == ( (const U8*)pat)[1] ) && ( 0xC5 == ((const U8*)pat)[2] ) ) && ( 0xBF == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xCA == ((const U8*)pat)[0] ) ? ( ( ( 0xBC == ((const U8*) pat)[1] ) && ( 0x6E == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0xCE == ((const U8*)pat)[0] ) ? ( ( ( ((const U8*)pat) [1] & 0xFD ) == 0xAC ) ? ( ( ( 0xCE == ((const U8*)pat)[2 ] ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xB1 == ((const U8*)pat)[1] || 0xB7 == ((const U8*)pat)[1] ) ? ( ( 0xCD == ((const U8*)pat)[2] ) ? ( ( 0x82 == ((const U8 *)pat)[3] ) ? 4 : 0 ) : ( ( 0xCE == ((const U8*)pat)[2] ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( ( ( 0xB9 == ( (const U8*)pat)[1] ) && ( 0xCD == ((const U8*)pat)[2] ) ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xCF == ((const U8*)pat)[0] ) ? ( ( 0x81 == ((const U8*)pat )[1] ) ? ( ( ( 0xCC == ((const U8*)pat)[2] ) && ( 0x93 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0x85 == ((const U8* )pat)[1] ) ? ( ( 0xCC == ((const U8*)pat)[2] ) ? ( ( 0x93 == ( (const U8*)pat)[3] ) ? 4 : 0 ) : ( ( 0xCD == ((const U8*)pat) [2] ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0x89 == ((const U8*)pat)[1] ) ? ( ( 0xCD == ((const U8*)pat )[2] ) ? ( ( 0x82 == ((const U8*)pat)[3] ) ? 4 : 0 ) : ( ( 0xCE == ((const U8*)pat)[2] ) && ( 0xB9 == ((const U8*)pat )[3] ) ) ? 4 : 0 ) : ( ( ( 0x8E == ((const U8*)pat)[1] ) && ( 0xCE == ((const U8*)pat)[2] ) ) && ( 0xB9 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xD5 == ((const U8*)pat)[0] ) ? ( ( 0xA5 == ((const U8*)pat)[1] ) ? ( ( ( 0xD6 == ((const U8 *)pat)[2] ) && ( 0x82 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : ( 0xB4 == ((const U8*)pat)[1] ) ? ( ( ( 0xD5 == ((const U8*)pat)[2] ) && ( ( ( ((const U8*)pat)[3] & 0xF7 ) == 0xA5 ) || ((const U8*)pat)[3] == 0xAB || ((const U8*)pat )[3] == 0xB6 ) ) ? 4 : 0 ) : ( ( ( 0xBE == ((const U8*)pat)[1 ] ) && ( 0xD5 == ((const U8*)pat)[2] ) ) && ( 0xB6 == ((const U8*)pat)[3] ) ) ? 4 : 0 ) : 0 ) : ((pat_end) -(pat) > 2) ? ( ( 0x61 == ((const U8*)pat)[0] ) ? ( ( ( 0xCA == ((const U8*)pat)[1] ) && ( 0xBE == ((const U8*)pat )[2] ) ) ? 3 : 0 ) : ( 0x66 == ((const U8*)pat)[0] ) ? ( ( 0x66 == ((const U8*)pat)[1] ) ? ( ( 0x69 == ((const U8*)pat)[2] || 0x6C == ((const U8*)pat)[2] ) ? 3 : 2 ) : ( 0x69 == ((const U8 *)pat)[1] || 0x6C == ((const U8*)pat)[1] ) ? 2 : 0 ) : ( 0x68 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0xB1 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x69 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat )[1] ) && ( 0x87 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x6A == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8 *)pat)[1] ) && ( 0x8C == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x73 == ((const U8*)pat)[0] ) ? ( ( ((((0x74) >= ( 0x73)) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(0x74) >= (0x73)" )), ( (sizeof(((const U8*)pat)[1]) == sizeof(U8)) ? ((((NV) ( (0x73)) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32)) ? ((((NV) ((0x73)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4362, __func__, "(NV) ((0x73)) >= 0" )), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4362, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0)))))))) ) ? 2 : 0 ) : ( 0x74 == ((const U8*) pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x88 == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( 0x77 == ((const U8* )pat)[0] || 0x79 == ((const U8*)pat)[0] ) ? ( ( ( 0xCC == ((const U8*)pat)[1] ) && ( 0x8A == ((const U8*)pat)[2] ) ) ? 3 : 0 ) : ( ( ( 0xCA == ((const U8*)pat)[0] ) && ( 0xBC == ((const U8*)pat)[1] ) ) && ( 0x6E == ((const U8*) pat)[2] ) ) ? 3 : 0 ): ((pat_end)-(pat) > 1) ? ( ( 0x66 == ((const U8*)pat)[0] ) ? ( ( 0x66 == ((const U8*)pat)[1] || 0x69 == ((const U8*)pat)[1] || 0x6C == ((const U8*)pat)[1] ) ? 2 : 0 ) : ( ( 0x73 == ((const U8*)pat)[0] ) && ( ((((0x74 ) >= (0x73)) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(0x74) >= (0x73)")), ( (sizeof(((const U8*)pat)[1]) == sizeof (U8)) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32 )) ? ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U32) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0))))) : (((sizeof(((const U8*)pat)[1]) == sizeof (U64)) ? (void)0 : __assert2("re_exec.c", 4362, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4362, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4362, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0)))))))) ) ) ? 2 : 0 ): 0 ) )) | |||
| 4363 | || (!is_utf8_pat && is_MULTI_CHAR_FOLD_latin1_safe(pat, pat_end)( ((pat_end)-(pat) > 2) ? ( ( ( ((const U8*)pat)[0] & 0xDF ) == 0x46 ) ? ( ( ( ((const U8*)pat)[1] & 0xDF ) == 0x46 ) ? ( ( ( ( ((const U8*)pat)[2] & 0xDF ) == 0x49 ) || ( ( ((const U8*)pat)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 ) : ( ( ( ((const U8*)pat)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8 *)pat)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 ) : ( ( ( ((const U8 *)pat)[0] & 0xDF ) == 0x53 ) && ( ((((0x54) >= (0x53)) ? (void)0 : __assert2("re_exec.c", 4363, __func__, "(0x54) >= (0x53)" )), ( (sizeof(((const U8*)pat)[1]) == sizeof(U8)) ? ((((NV) ( (0x53)) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) ((0x53)) >= 0")), (((NV) (((0x54) - (0x53))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) (((0x54) - (0x53))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0x53)) | 0 ))) <= (((U64) ((((0x54) - (0x53))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32)) ? ((((NV) ((0x53)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) ((0x53)) >= 0" )), (((NV) (((0x54) - (0x53))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4363, __func__, "(NV) (((0x54) - (0x53))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0x53)) | 0 ))) <= (((U64) ((((0x54) - (0x53))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x53)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "(NV) ((0x53)) >= 0")), (((NV) (((0x54) - (0x53))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) (((0x54) - (0x53))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x53)) | 0))) <= (((U64) ((((0x54 ) - (0x53))) | 0)))))))) || ((((0x74) >= (0x73)) ? (void)0 : __assert2("re_exec.c", 4363, __func__, "(0x74) >= (0x73)" )), ( (sizeof(((const U8*)pat)[1]) == sizeof(U8)) ? ((((NV) ( (0x73)) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32)) ? ((((NV) ((0x73)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) ((0x73)) >= 0" )), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4363, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0)))))))) ) ) ? 2 : 0 ): ((pat_end)-(pat) > 1) ? ( ( ( ((const U8*)pat)[0] & 0xDF ) == 0x46 ) ? ( ( ( ( ((const U8*)pat)[1] & 0xDF ) == 0x46 ) || ( ( ((const U8 *)pat)[1] & 0xDF ) == 0x49 ) || ( ( ((const U8*)pat)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 ) : ( ( ( ((const U8*)pat)[0] & 0xDF ) == 0x53 ) && ( ((((0x54) >= (0x53)) ? (void )0 : __assert2("re_exec.c", 4363, __func__, "(0x54) >= (0x53)" )), ( (sizeof(((const U8*)pat)[1]) == sizeof(U8)) ? ((((NV) ( (0x53)) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) ((0x53)) >= 0")), (((NV) (((0x54) - (0x53))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) (((0x54) - (0x53))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0x53)) | 0 ))) <= (((U64) ((((0x54) - (0x53))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32)) ? ((((NV) ((0x53)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) ((0x53)) >= 0" )), (((NV) (((0x54) - (0x53))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4363, __func__, "(NV) (((0x54) - (0x53))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0x53)) | 0 ))) <= (((U64) ((((0x54) - (0x53))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x53)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "(NV) ((0x53)) >= 0")), (((NV) (((0x54) - (0x53))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) (((0x54) - (0x53))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x53)) | 0))) <= (((U64) ((((0x54 ) - (0x53))) | 0)))))))) || ((((0x74) >= (0x73)) ? (void)0 : __assert2("re_exec.c", 4363, __func__, "(0x74) >= (0x73)" )), ( (sizeof(((const U8*)pat)[1]) == sizeof(U8)) ? ((((NV) ( (0x73)) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U8) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (sizeof(((const U8*)pat)[1]) == sizeof(U32)) ? ((((NV) ((0x73)) >= 0) ? ( void)0 : __assert2("re_exec.c", 4363, __func__, "(NV) ((0x73)) >= 0" )), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 4363, __func__, "(NV) (((0x74) - (0x73))) >= 0" )), (((U64) (((((U32) (((const U8*)pat)[1])))) - (((0x73)) | 0 ))) <= (((U64) ((((0x74) - (0x73))) | 0))))) : (((sizeof(( (const U8*)pat)[1]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "sizeof(((const U8*)pat)[1]) == sizeof(U64)" )), ((((NV) ((0x73)) >= 0) ? (void)0 : __assert2("re_exec.c" , 4363, __func__, "(NV) ((0x73)) >= 0")), (((NV) (((0x74) - (0x73))) >= 0) ? (void)0 : __assert2("re_exec.c", 4363, __func__ , "(NV) (((0x74) - (0x73))) >= 0")), (((U64) (((((U64) ((( const U8*)pat)[1])))) - (((0x73)) | 0))) <= (((U64) ((((0x74 ) - (0x73))) | 0)))))))) ) ) ? 2 : 0 ): 0 ))) | |||
| 4364 | { | |||
| 4365 | /* Multi-character folds require more context to sort out. Also | |||
| 4366 | * PL_utf8_foldclosures used below doesn't handle them, so have to | |||
| 4367 | * be handled outside this routine */ | |||
| 4368 | use_chrtest_void = TRUE(1); | |||
| 4369 | } | |||
| 4370 | else { /* an EXACTFish node which doesn't begin with a multi-char fold */ | |||
| 4371 | c1 = is_utf8_pat ? valid_utf8_to_uvchrPerl_valid_utf8_to_uvchr(pat, NULL((void*)0)) : *pat; | |||
| 4372 | ||||
| 4373 | if ( UNLIKELY(PL_in_utf8_turkic_locale)__builtin_expect(((PL_in_utf8_turkic_locale) ? (_Bool)1 : (_Bool )0),(0)) | |||
| 4374 | && OP(text_node)((text_node)->type) == EXACTFL44 | |||
| 4375 | && UNLIKELY( c1 == 'i' || c1 == 'I'__builtin_expect(((c1 == 'i' || c1 == 'I' || c1 == 0x130 || c1 == 0x131) ? (_Bool)1 : (_Bool)0),(0)) | |||
| 4376 | || c1 == LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE__builtin_expect(((c1 == 'i' || c1 == 'I' || c1 == 0x130 || c1 == 0x131) ? (_Bool)1 : (_Bool)0),(0)) | |||
| 4377 | || c1 == LATIN_SMALL_LETTER_DOTLESS_I)__builtin_expect(((c1 == 'i' || c1 == 'I' || c1 == 0x130 || c1 == 0x131) ? (_Bool)1 : (_Bool)0),(0))) | |||
| 4378 | { /* Hard-coded Turkish locale rules for these 4 characters | |||
| 4379 | override normal rules */ | |||
| 4380 | if (c1 == 'i') { | |||
| 4381 | c2 = LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE0x130; | |||
| 4382 | } | |||
| 4383 | else if (c1 == 'I') { | |||
| 4384 | c2 = LATIN_SMALL_LETTER_DOTLESS_I0x131; | |||
| 4385 | } | |||
| 4386 | else if (c1 == LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE0x130) { | |||
| 4387 | c2 = 'i'; | |||
| 4388 | } | |||
| 4389 | else if (c1 == LATIN_SMALL_LETTER_DOTLESS_I0x131) { | |||
| 4390 | c2 = 'I'; | |||
| 4391 | } | |||
| 4392 | } | |||
| 4393 | else if (c1 > 255) { | |||
| 4394 | const U32 * remaining_folds; | |||
| 4395 | U32 first_fold; | |||
| 4396 | ||||
| 4397 | /* Look up what code points (besides c1) fold to c1; e.g., | |||
| 4398 | * [ 'K', KELVIN_SIGN ] both fold to 'k'. */ | |||
| 4399 | Size_tsize_t folds_count = _inverse_folds(c1, &first_fold,Perl__inverse_folds( c1,&first_fold,&remaining_folds) | |||
| 4400 | &remaining_folds)Perl__inverse_folds( c1,&first_fold,&remaining_folds); | |||
| 4401 | if (folds_count == 0) { | |||
| 4402 | c2 = c1; /* there is only a single character that could | |||
| 4403 | match */ | |||
| 4404 | } | |||
| 4405 | else if (folds_count != 1) { | |||
| 4406 | /* If there aren't exactly two folds to this (itself and | |||
| 4407 | * another), it is outside the scope of this function */ | |||
| 4408 | use_chrtest_void = TRUE(1); | |||
| 4409 | } | |||
| 4410 | else { /* There are two. We already have one, get the other */ | |||
| 4411 | c2 = first_fold; | |||
| 4412 | ||||
| 4413 | /* Folds that cross the 255/256 boundary are forbidden if | |||
| 4414 | * EXACTFL (and isnt a UTF8 locale), or EXACTFAA and one is | |||
| 4415 | * ASCIII. The only other match to c1 is c2, and since c1 | |||
| 4416 | * is above 255, c2 better be as well under these | |||
| 4417 | * circumstances. If it isn't, it means the only legal | |||
| 4418 | * match of c1 is itself. */ | |||
| 4419 | if ( c2 < 256 | |||
| 4420 | && ( ( OP(text_node)((text_node)->type) == EXACTFL44 | |||
| 4421 | && ! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) | |||
| 4422 | || (( OP(text_node)((text_node)->type) == EXACTFAA46 | |||
| 4423 | || OP(text_node)((text_node)->type) == EXACTFAA_NO_TRIE49) | |||
| 4424 | && (isASCII(c1)((U64)((c1) | 0) < 128) || isASCII(c2)((U64)((c2) | 0) < 128))))) | |||
| 4425 | { | |||
| 4426 | c2 = c1; | |||
| 4427 | } | |||
| 4428 | } | |||
| 4429 | } | |||
| 4430 | else /* Here, c1 is <= 255 */ | |||
| 4431 | if ( utf8_target | |||
| 4432 | && HAS_NONLATIN1_FOLD_CLOSURE(c1)((! ((( (sizeof(c1) == 1) || !(((U64)((c1) | 0)) & ~0xFF) )) ? (_Bool)1 : (_Bool)0)) || (PL_charclass[(U8) (c1)] & ( 1U << (18)))) | |||
| 4433 | && ( ! (OP(text_node)((text_node)->type) == EXACTFL44 && ! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale)) | |||
| 4434 | && ( ( OP(text_node)((text_node)->type) != EXACTFAA46 | |||
| 4435 | && OP(text_node)((text_node)->type) != EXACTFAA_NO_TRIE49) | |||
| 4436 | || ! isASCII(c1)((U64)((c1) | 0) < 128))) | |||
| 4437 | { | |||
| 4438 | /* Here, there could be something above Latin1 in the target | |||
| 4439 | * which folds to this character in the pattern. All such | |||
| 4440 | * cases except LATIN SMALL LETTER Y WITH DIAERESIS have more | |||
| 4441 | * than two characters involved in their folds, so are outside | |||
| 4442 | * the scope of this function */ | |||
| 4443 | if (UNLIKELY(c1 == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS)__builtin_expect(((c1 == 0xFF) ? (_Bool)1 : (_Bool)0),(0))) { | |||
| 4444 | c2 = LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS0x0178; | |||
| 4445 | } | |||
| 4446 | else { | |||
| 4447 | use_chrtest_void = TRUE(1); | |||
| 4448 | } | |||
| 4449 | } | |||
| 4450 | else { /* Here nothing above Latin1 can fold to the pattern | |||
| 4451 | character */ | |||
| 4452 | switch (OP(text_node)((text_node)->type)) { | |||
| 4453 | ||||
| 4454 | case EXACTFL44: /* /l rules */ | |||
| 4455 | c2 = PL_fold_locale[c1]; | |||
| 4456 | break; | |||
| 4457 | ||||
| 4458 | case EXACTF43: /* This node only generated for non-utf8 | |||
| 4459 | patterns */ | |||
| 4460 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 4460, __func__ , "! is_utf8_pat")); | |||
| 4461 | if (! utf8_target) { /* /d rules */ | |||
| 4462 | c2 = PL_fold[c1]; | |||
| 4463 | break; | |||
| 4464 | } | |||
| 4465 | /* FALLTHROUGH */ | |||
| 4466 | /* /u rules for all these. This happens to work for | |||
| 4467 | * EXACTFAA as nothing in Latin1 folds to ASCII */ | |||
| 4468 | case EXACTFAA_NO_TRIE49: /* This node only generated for | |||
| 4469 | non-utf8 patterns */ | |||
| 4470 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 4470, __func__ , "! is_utf8_pat")); | |||
| 4471 | /* FALLTHROUGH */ | |||
| 4472 | case EXACTFAA46: | |||
| 4473 | case EXACTFUP47: | |||
| 4474 | case EXACTFU45: | |||
| 4475 | c2 = PL_fold_latin1[c1]; | |||
| 4476 | break; | |||
| 4477 | case EXACTFU_REQ852: | |||
| 4478 | return FALSE(0); | |||
| 4479 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 4479 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 4480 | ||||
| 4481 | default: | |||
| 4482 | Perl_croak(aTHX_ "panic: Unexpected op %u", OP(text_node)((text_node)->type)); | |||
| 4483 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 4483 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 4484 | } | |||
| 4485 | } | |||
| 4486 | } | |||
| 4487 | } | |||
| 4488 | ||||
| 4489 | /* Here have figured things out. Set up the returns */ | |||
| 4490 | if (use_chrtest_void) { | |||
| 4491 | *c2p = *c1p = CHRTEST_VOID-1000; | |||
| 4492 | } | |||
| 4493 | else if (utf8_target) { | |||
| 4494 | if (! utf8_has_been_setup) { /* Don't have the utf8; must get it */ | |||
| 4495 | uvchr_to_utf8(c1_utf8, c1)Perl_uvoffuni_to_utf8_flags_msgs( c1_utf8,((UV) ((c1) | 0)),0 ,0); | |||
| 4496 | uvchr_to_utf8(c2_utf8, c2)Perl_uvoffuni_to_utf8_flags_msgs( c2_utf8,((UV) ((c2) | 0)),0 ,0); | |||
| 4497 | } | |||
| 4498 | ||||
| 4499 | /* Invariants are stored in both the utf8 and byte outputs; Use | |||
| 4500 | * negative numbers otherwise for the byte ones. Make sure that the | |||
| 4501 | * byte ones are the same iff the utf8 ones are the same */ | |||
| 4502 | *c1p = (UTF8_IS_INVARIANT(*c1_utf8)((((U64)(((UV) (((*c1_utf8) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? *c1_utf8 : CHRTEST_NOT_A_CP_1-999; | |||
| 4503 | *c2p = (UTF8_IS_INVARIANT(*c2_utf8)((((U64)(((UV) (((*c2_utf8) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) | |||
| 4504 | ? *c2_utf8 | |||
| 4505 | : (c1 == c2) | |||
| 4506 | ? CHRTEST_NOT_A_CP_1-999 | |||
| 4507 | : CHRTEST_NOT_A_CP_2-998; | |||
| 4508 | } | |||
| 4509 | else if (c1 > 255) { | |||
| 4510 | if (c2 > 255) { /* both possibilities are above what a non-utf8 string | |||
| 4511 | can represent */ | |||
| 4512 | return FALSE(0); | |||
| 4513 | } | |||
| 4514 | ||||
| 4515 | *c1p = *c2p = c2; /* c2 is the only representable value */ | |||
| 4516 | } | |||
| 4517 | else { /* c1 is representable; see about c2 */ | |||
| 4518 | *c1p = c1; | |||
| 4519 | *c2p = (c2 < 256) ? c2 : c1; | |||
| 4520 | } | |||
| 4521 | ||||
| 4522 | return TRUE(1); | |||
| 4523 | } | |||
| 4524 | ||||
| 4525 | STATICstatic bool_Bool | |||
| 4526 | S_isGCB(pTHX_ const GCB_enum before, const GCB_enum after, const U8 * const strbeg, const U8 * const curpos, const bool_Bool utf8_target) | |||
| 4527 | { | |||
| 4528 | /* returns a boolean indicating if there is a Grapheme Cluster Boundary | |||
| 4529 | * between the inputs. See https://www.unicode.org/reports/tr29/. */ | |||
| 4530 | ||||
| 4531 | PERL_ARGS_ASSERT_ISGCB((strbeg) ? (void)0 : __assert2("re_exec.c", 4531, __func__, "strbeg" )); ((curpos) ? (void)0 : __assert2("re_exec.c", 4531, __func__ , "curpos")); | |||
| 4532 | ||||
| 4533 | switch (GCB_table[before][after]) { | |||
| 4534 | case GCB_BREAKABLE1: | |||
| 4535 | return TRUE(1); | |||
| 4536 | ||||
| 4537 | case GCB_NOBREAK0: | |||
| 4538 | return FALSE(0); | |||
| 4539 | ||||
| 4540 | case GCB_RI_then_RI2: | |||
| 4541 | { | |||
| 4542 | int RI_count = 1; | |||
| 4543 | U8 * temp_pos = (U8 *) curpos; | |||
| 4544 | ||||
| 4545 | /* Do not break within emoji flag sequences. That is, do not | |||
| 4546 | * break between regional indicator (RI) symbols if there is an | |||
| 4547 | * odd number of RI characters before the break point. | |||
| 4548 | * GB12 sot (RI RI)* RI × RI | |||
| 4549 | * GB13 [^RI] (RI RI)* RI × RI */ | |||
| 4550 | ||||
| 4551 | while (backup_one_GCB(strbeg,S_backup_one_GCB( strbeg,&temp_pos,utf8_target) | |||
| 4552 | &temp_pos,S_backup_one_GCB( strbeg,&temp_pos,utf8_target) | |||
| 4553 | utf8_target)S_backup_one_GCB( strbeg,&temp_pos,utf8_target) == GCB_Regional_Indicator) | |||
| 4554 | { | |||
| 4555 | RI_count++; | |||
| 4556 | } | |||
| 4557 | ||||
| 4558 | return RI_count % 2 != 1; | |||
| 4559 | } | |||
| 4560 | ||||
| 4561 | case GCB_EX_then_EM3: | |||
| 4562 | ||||
| 4563 | /* GB10 ( E_Base | E_Base_GAZ ) Extend* × E_Modifier */ | |||
| 4564 | { | |||
| 4565 | U8 * temp_pos = (U8 *) curpos; | |||
| 4566 | GCB_enum prev; | |||
| 4567 | ||||
| 4568 | do { | |||
| 4569 | prev = backup_one_GCB(strbeg, &temp_pos, utf8_target)S_backup_one_GCB( strbeg,&temp_pos,utf8_target); | |||
| 4570 | } | |||
| 4571 | while (prev == GCB_Extend); | |||
| 4572 | ||||
| 4573 | return prev != GCB_E_Base && prev != GCB_E_Base_GAZ; | |||
| 4574 | } | |||
| 4575 | ||||
| 4576 | case GCB_Maybe_Emoji_NonBreak4: | |||
| 4577 | ||||
| 4578 | { | |||
| 4579 | ||||
| 4580 | /* Do not break within emoji modifier sequences or emoji zwj sequences. | |||
| 4581 | GB11 \p{Extended_Pictographic} Extend* ZWJ × \p{Extended_Pictographic} | |||
| 4582 | */ | |||
| 4583 | U8 * temp_pos = (U8 *) curpos; | |||
| 4584 | GCB_enum prev; | |||
| 4585 | ||||
| 4586 | do { | |||
| 4587 | prev = backup_one_GCB(strbeg, &temp_pos, utf8_target)S_backup_one_GCB( strbeg,&temp_pos,utf8_target); | |||
| 4588 | } | |||
| 4589 | while (prev == GCB_Extend); | |||
| 4590 | ||||
| 4591 | return prev != GCB_ExtPict_XX; | |||
| 4592 | } | |||
| 4593 | ||||
| 4594 | default: | |||
| 4595 | break; | |||
| 4596 | } | |||
| 4597 | ||||
| 4598 | #ifdef DEBUGGING | |||
| 4599 | Perl_re_printf( aTHX_ "Unhandled GCB pair: GCB_table[%d, %d] = %d\n", | |||
| 4600 | before, after, GCB_table[before][after]); | |||
| 4601 | assert(0)((0) ? (void)0 : __assert2("re_exec.c", 4601, __func__, "0")); | |||
| 4602 | #endif | |||
| 4603 | return TRUE(1); | |||
| 4604 | } | |||
| 4605 | ||||
| 4606 | STATICstatic GCB_enum | |||
| 4607 | S_backup_one_GCB(pTHX_ const U8 * const strbeg, U8 ** curpos, const bool_Bool utf8_target) | |||
| 4608 | { | |||
| 4609 | dVARstruct Perl___notused_struct; | |||
| 4610 | GCB_enum gcb; | |||
| 4611 | ||||
| 4612 | PERL_ARGS_ASSERT_BACKUP_ONE_GCB((strbeg) ? (void)0 : __assert2("re_exec.c", 4612, __func__, "strbeg" )); ((curpos) ? (void)0 : __assert2("re_exec.c", 4612, __func__ , "curpos")); | |||
| 4613 | ||||
| 4614 | if (*curpos < strbeg) { | |||
| 4615 | return GCB_EDGE; | |||
| 4616 | } | |||
| 4617 | ||||
| 4618 | if (utf8_target) { | |||
| 4619 | U8 * prev_char_pos = reghopmaybe3S_reghopmaybe3(*curpos, -1, strbeg); | |||
| 4620 | U8 * prev_prev_char_pos; | |||
| 4621 | ||||
| 4622 | if (! prev_char_pos) { | |||
| 4623 | return GCB_EDGE; | |||
| 4624 | } | |||
| 4625 | ||||
| 4626 | if ((prev_prev_char_pos = reghopmaybe3S_reghopmaybe3((U8 *) prev_char_pos, -1, strbeg))) { | |||
| 4627 | gcb = getGCB_VAL_UTF8(prev_prev_char_pos, prev_char_pos)(((prev_prev_char_pos < prev_char_pos) ? (void)0 : __assert2 ("re_exec.c", 4627, __func__, "prev_prev_char_pos < prev_char_pos" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((prev_prev_char_pos )),(const U8 *) (prev_char_pos),((void*)0))))])); | |||
| 4628 | *curpos = prev_char_pos; | |||
| 4629 | prev_char_pos = prev_prev_char_pos; | |||
| 4630 | } | |||
| 4631 | else { | |||
| 4632 | *curpos = (U8 *) strbeg; | |||
| 4633 | return GCB_EDGE; | |||
| 4634 | } | |||
| 4635 | } | |||
| 4636 | else { | |||
| 4637 | if (*curpos - 2 < strbeg) { | |||
| 4638 | *curpos = (U8 *) strbeg; | |||
| 4639 | return GCB_EDGE; | |||
| 4640 | } | |||
| 4641 | (*curpos)--; | |||
| 4642 | gcb = getGCB_VAL_CP(*(*curpos - 1))_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist, ( *(*curpos - 1)))]; | |||
| 4643 | } | |||
| 4644 | ||||
| 4645 | return gcb; | |||
| 4646 | } | |||
| 4647 | ||||
| 4648 | /* Combining marks attach to most classes that precede them, but this defines | |||
| 4649 | * the exceptions (from TR14) */ | |||
| 4650 | #define LB_CM_ATTACHES_TO(prev)( ! ( prev == LB_EDGE || prev == LB_Mandatory_Break || prev == LB_Carriage_Return || prev == LB_Line_Feed || prev == LB_Next_Line || prev == LB_Space || prev == LB_ZWSpace)) ( ! ( prev == LB_EDGE \ | |||
| 4651 | || prev == LB_Mandatory_Break \ | |||
| 4652 | || prev == LB_Carriage_Return \ | |||
| 4653 | || prev == LB_Line_Feed \ | |||
| 4654 | || prev == LB_Next_Line \ | |||
| 4655 | || prev == LB_Space \ | |||
| 4656 | || prev == LB_ZWSpace)) | |||
| 4657 | ||||
| 4658 | STATICstatic bool_Bool | |||
| 4659 | S_isLB(pTHX_ LB_enum before, | |||
| 4660 | LB_enum after, | |||
| 4661 | const U8 * const strbeg, | |||
| 4662 | const U8 * const curpos, | |||
| 4663 | const U8 * const strend, | |||
| 4664 | const bool_Bool utf8_target) | |||
| 4665 | { | |||
| 4666 | U8 * temp_pos = (U8 *) curpos; | |||
| 4667 | LB_enum prev = before; | |||
| 4668 | ||||
| 4669 | /* Is the boundary between 'before' and 'after' line-breakable? | |||
| 4670 | * Most of this is just a table lookup of a generated table from Unicode | |||
| 4671 | * rules. But some rules require context to decide, and so have to be | |||
| 4672 | * implemented in code */ | |||
| 4673 | ||||
| 4674 | PERL_ARGS_ASSERT_ISLB((strbeg) ? (void)0 : __assert2("re_exec.c", 4674, __func__, "strbeg" )); ((curpos) ? (void)0 : __assert2("re_exec.c", 4674, __func__ , "curpos")); ((strend) ? (void)0 : __assert2("re_exec.c", 4674 , __func__, "strend")); | |||
| 4675 | ||||
| 4676 | /* Rule numbers in the comments below are as of Unicode 9.0 */ | |||
| 4677 | ||||
| 4678 | redo: | |||
| 4679 | before = prev; | |||
| 4680 | switch (LB_table[before][after]) { | |||
| 4681 | case LB_BREAKABLE1: | |||
| 4682 | return TRUE(1); | |||
| 4683 | ||||
| 4684 | case LB_NOBREAK0: | |||
| 4685 | case LB_NOBREAK_EVEN_WITH_SP_BETWEEN2: | |||
| 4686 | return FALSE(0); | |||
| 4687 | ||||
| 4688 | case LB_SP_foo6 + LB_BREAKABLE1: | |||
| 4689 | case LB_SP_foo6 + LB_NOBREAK0: | |||
| 4690 | case LB_SP_foo6 + LB_NOBREAK_EVEN_WITH_SP_BETWEEN2: | |||
| 4691 | ||||
| 4692 | /* When we have something following a SP, we have to look at the | |||
| 4693 | * context in order to know what to do. | |||
| 4694 | * | |||
| 4695 | * SP SP should not reach here because LB7: Do not break before | |||
| 4696 | * spaces. (For two spaces in a row there is nothing that | |||
| 4697 | * overrides that) */ | |||
| 4698 | assert(after != LB_Space)((after != LB_Space) ? (void)0 : __assert2("re_exec.c", 4698, __func__, "after != LB_Space")); | |||
| 4699 | ||||
| 4700 | /* Here we have a space followed by a non-space. Mostly this is a | |||
| 4701 | * case of LB18: "Break after spaces". But there are complications | |||
| 4702 | * as the handling of spaces is somewhat tricky. They are in a | |||
| 4703 | * number of rules, which have to be applied in priority order, but | |||
| 4704 | * something earlier in the string can cause a rule to be skipped | |||
| 4705 | * and a lower priority rule invoked. A prime example is LB7 which | |||
| 4706 | * says don't break before a space. But rule LB8 (lower priority) | |||
| 4707 | * says that the first break opportunity after a ZW is after any | |||
| 4708 | * span of spaces immediately after it. If a ZW comes before a SP | |||
| 4709 | * in the input, rule LB8 applies, and not LB7. Other such rules | |||
| 4710 | * involve combining marks which are rules 9 and 10, but they may | |||
| 4711 | * override higher priority rules if they come earlier in the | |||
| 4712 | * string. Since we're doing random access into the middle of the | |||
| 4713 | * string, we have to look for rules that should get applied based | |||
| 4714 | * on both string position and priority. Combining marks do not | |||
| 4715 | * attach to either ZW nor SP, so we don't have to consider them | |||
| 4716 | * until later. | |||
| 4717 | * | |||
| 4718 | * To check for LB8, we have to find the first non-space character | |||
| 4719 | * before this span of spaces */ | |||
| 4720 | do { | |||
| 4721 | prev = backup_one_LB(strbeg, &temp_pos, utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target); | |||
| 4722 | } | |||
| 4723 | while (prev == LB_Space); | |||
| 4724 | ||||
| 4725 | /* LB8 Break before any character following a zero-width space, | |||
| 4726 | * even if one or more spaces intervene. | |||
| 4727 | * ZW SP* ÷ | |||
| 4728 | * So if we have a ZW just before this span, and to get here this | |||
| 4729 | * is the final space in the span. */ | |||
| 4730 | if (prev == LB_ZWSpace) { | |||
| 4731 | return TRUE(1); | |||
| 4732 | } | |||
| 4733 | ||||
| 4734 | /* Here, not ZW SP+. There are several rules that have higher | |||
| 4735 | * priority than LB18 and can be resolved now, as they don't depend | |||
| 4736 | * on anything earlier in the string (except ZW, which we have | |||
| 4737 | * already handled). One of these rules is LB11 Do not break | |||
| 4738 | * before Word joiner, but we have specially encoded that in the | |||
| 4739 | * lookup table so it is caught by the single test below which | |||
| 4740 | * catches the other ones. */ | |||
| 4741 | if (LB_table[LB_Space][after] - LB_SP_foo6 | |||
| 4742 | == LB_NOBREAK_EVEN_WITH_SP_BETWEEN2) | |||
| 4743 | { | |||
| 4744 | return FALSE(0); | |||
| 4745 | } | |||
| 4746 | ||||
| 4747 | /* If we get here, we have to XXX consider combining marks. */ | |||
| 4748 | if (prev == LB_Combining_Mark) { | |||
| 4749 | ||||
| 4750 | /* What happens with these depends on the character they | |||
| 4751 | * follow. */ | |||
| 4752 | do { | |||
| 4753 | prev = backup_one_LB(strbeg, &temp_pos, utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target); | |||
| 4754 | } | |||
| 4755 | while (prev == LB_Combining_Mark); | |||
| 4756 | ||||
| 4757 | /* Most times these attach to and inherit the characteristics | |||
| 4758 | * of that character, but not always, and when not, they are to | |||
| 4759 | * be treated as AL by rule LB10. */ | |||
| 4760 | if (! LB_CM_ATTACHES_TO(prev)( ! ( prev == LB_EDGE || prev == LB_Mandatory_Break || prev == LB_Carriage_Return || prev == LB_Line_Feed || prev == LB_Next_Line || prev == LB_Space || prev == LB_ZWSpace))) { | |||
| 4761 | prev = LB_Alphabetic; | |||
| 4762 | } | |||
| 4763 | } | |||
| 4764 | ||||
| 4765 | /* Here, we have the character preceding the span of spaces all set | |||
| 4766 | * up. We follow LB18: "Break after spaces" unless the table shows | |||
| 4767 | * that is overriden */ | |||
| 4768 | return LB_table[prev][after] != LB_NOBREAK_EVEN_WITH_SP_BETWEEN2; | |||
| 4769 | ||||
| 4770 | case LB_CM_ZWJ_foo3: | |||
| 4771 | ||||
| 4772 | /* We don't know how to treat the CM except by looking at the first | |||
| 4773 | * non-CM character preceding it. ZWJ is treated as CM */ | |||
| 4774 | do { | |||
| 4775 | prev = backup_one_LB(strbeg, &temp_pos, utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target); | |||
| 4776 | } | |||
| 4777 | while (prev == LB_Combining_Mark || prev == LB_ZWJ); | |||
| 4778 | ||||
| 4779 | /* Here, 'prev' is that first earlier non-CM character. If the CM | |||
| 4780 | * attatches to it, then it inherits the behavior of 'prev'. If it | |||
| 4781 | * doesn't attach, it is to be treated as an AL */ | |||
| 4782 | if (! LB_CM_ATTACHES_TO(prev)( ! ( prev == LB_EDGE || prev == LB_Mandatory_Break || prev == LB_Carriage_Return || prev == LB_Line_Feed || prev == LB_Next_Line || prev == LB_Space || prev == LB_ZWSpace))) { | |||
| 4783 | prev = LB_Alphabetic; | |||
| 4784 | } | |||
| 4785 | ||||
| 4786 | goto redo; | |||
| 4787 | ||||
| 4788 | case LB_HY_or_BA_then_foo13 + LB_BREAKABLE1: | |||
| 4789 | case LB_HY_or_BA_then_foo13 + LB_NOBREAK0: | |||
| 4790 | ||||
| 4791 | /* LB21a Don't break after Hebrew + Hyphen. | |||
| 4792 | * HL (HY | BA) × */ | |||
| 4793 | ||||
| 4794 | if (backup_one_LB(strbeg, &temp_pos, utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target) | |||
| 4795 | == LB_Hebrew_Letter) | |||
| 4796 | { | |||
| 4797 | return FALSE(0); | |||
| 4798 | } | |||
| 4799 | ||||
| 4800 | return LB_table[prev][after] - LB_HY_or_BA_then_foo13 == LB_BREAKABLE1; | |||
| 4801 | ||||
| 4802 | case LB_PR_or_PO_then_OP_or_HY9 + LB_BREAKABLE1: | |||
| 4803 | case LB_PR_or_PO_then_OP_or_HY9 + LB_NOBREAK0: | |||
| 4804 | ||||
| 4805 | /* LB25a (PR | PO) × ( OP | HY )? NU */ | |||
| 4806 | if (advance_one_LB(&temp_pos, strend, utf8_target)S_advance_one_LB( &temp_pos,strend,utf8_target) == LB_Numeric) { | |||
| 4807 | return FALSE(0); | |||
| 4808 | } | |||
| 4809 | ||||
| 4810 | return LB_table[prev][after] - LB_PR_or_PO_then_OP_or_HY9 | |||
| 4811 | == LB_BREAKABLE1; | |||
| 4812 | ||||
| 4813 | case LB_SY_or_IS_then_various11 + LB_BREAKABLE1: | |||
| 4814 | case LB_SY_or_IS_then_various11 + LB_NOBREAK0: | |||
| 4815 | { | |||
| 4816 | /* LB25d NU (SY | IS)* × (NU | SY | IS | CL | CP ) */ | |||
| 4817 | ||||
| 4818 | LB_enum temp = prev; | |||
| 4819 | do { | |||
| 4820 | temp = backup_one_LB(strbeg, &temp_pos, utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target); | |||
| 4821 | } | |||
| 4822 | while (temp == LB_Break_Symbols || temp == LB_Infix_Numeric); | |||
| 4823 | if (temp == LB_Numeric) { | |||
| 4824 | return FALSE(0); | |||
| 4825 | } | |||
| 4826 | ||||
| 4827 | return LB_table[prev][after] - LB_SY_or_IS_then_various11 | |||
| 4828 | == LB_BREAKABLE1; | |||
| 4829 | } | |||
| 4830 | ||||
| 4831 | case LB_various_then_PO_or_PR32 + LB_BREAKABLE1: | |||
| 4832 | case LB_various_then_PO_or_PR32 + LB_NOBREAK0: | |||
| 4833 | { | |||
| 4834 | /* LB25e NU (SY | IS)* (CL | CP)? × (PO | PR) */ | |||
| 4835 | ||||
| 4836 | LB_enum temp = prev; | |||
| 4837 | if (temp == LB_Close_Punctuation || temp == LB_Close_Parenthesis) | |||
| 4838 | { | |||
| 4839 | temp = backup_one_LB(strbeg, &temp_pos, utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target); | |||
| 4840 | } | |||
| 4841 | while (temp == LB_Break_Symbols || temp == LB_Infix_Numeric) { | |||
| 4842 | temp = backup_one_LB(strbeg, &temp_pos, utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target); | |||
| 4843 | } | |||
| 4844 | if (temp == LB_Numeric) { | |||
| 4845 | return FALSE(0); | |||
| 4846 | } | |||
| 4847 | return LB_various_then_PO_or_PR32; | |||
| 4848 | } | |||
| 4849 | ||||
| 4850 | case LB_RI_then_RI15 + LB_NOBREAK0: | |||
| 4851 | case LB_RI_then_RI15 + LB_BREAKABLE1: | |||
| 4852 | { | |||
| 4853 | int RI_count = 1; | |||
| 4854 | ||||
| 4855 | /* LB30a Break between two regional indicator symbols if and | |||
| 4856 | * only if there are an even number of regional indicators | |||
| 4857 | * preceding the position of the break. | |||
| 4858 | * | |||
| 4859 | * sot (RI RI)* RI × RI | |||
| 4860 | * [^RI] (RI RI)* RI × RI */ | |||
| 4861 | ||||
| 4862 | while (backup_one_LB(strbeg,S_backup_one_LB( strbeg,&temp_pos,utf8_target) | |||
| 4863 | &temp_pos,S_backup_one_LB( strbeg,&temp_pos,utf8_target) | |||
| 4864 | utf8_target)S_backup_one_LB( strbeg,&temp_pos,utf8_target) == LB_Regional_Indicator) | |||
| 4865 | { | |||
| 4866 | RI_count++; | |||
| 4867 | } | |||
| 4868 | ||||
| 4869 | return RI_count % 2 == 0; | |||
| 4870 | } | |||
| 4871 | ||||
| 4872 | default: | |||
| 4873 | break; | |||
| 4874 | } | |||
| 4875 | ||||
| 4876 | #ifdef DEBUGGING | |||
| 4877 | Perl_re_printf( aTHX_ "Unhandled LB pair: LB_table[%d, %d] = %d\n", | |||
| 4878 | before, after, LB_table[before][after]); | |||
| 4879 | assert(0)((0) ? (void)0 : __assert2("re_exec.c", 4879, __func__, "0")); | |||
| 4880 | #endif | |||
| 4881 | return TRUE(1); | |||
| 4882 | } | |||
| 4883 | ||||
| 4884 | STATICstatic LB_enum | |||
| 4885 | S_advance_one_LB(pTHX_ U8 ** curpos, const U8 * const strend, const bool_Bool utf8_target) | |||
| 4886 | { | |||
| 4887 | dVARstruct Perl___notused_struct; | |||
| 4888 | ||||
| 4889 | LB_enum lb; | |||
| 4890 | ||||
| 4891 | PERL_ARGS_ASSERT_ADVANCE_ONE_LB((curpos) ? (void)0 : __assert2("re_exec.c", 4891, __func__, "curpos" )); ((strend) ? (void)0 : __assert2("re_exec.c", 4891, __func__ , "strend")); | |||
| 4892 | ||||
| 4893 | if (*curpos >= strend) { | |||
| 4894 | return LB_EDGE; | |||
| 4895 | } | |||
| 4896 | ||||
| 4897 | if (utf8_target) { | |||
| 4898 | *curpos += UTF8SKIP(*curpos)PL_utf8skip[*(const U8*)(*curpos)]; | |||
| 4899 | if (*curpos >= strend) { | |||
| 4900 | return LB_EDGE; | |||
| 4901 | } | |||
| 4902 | lb = getLB_VAL_UTF8(*curpos, strend)(((*curpos < strend) ? (void)0 : __assert2("re_exec.c", 4902 , __func__, "*curpos < strend")), (_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (*curpos)),(const U8 *) (strend),((void*)0))))])); | |||
| 4903 | } | |||
| 4904 | else { | |||
| 4905 | (*curpos)++; | |||
| 4906 | if (*curpos >= strend) { | |||
| 4907 | return LB_EDGE; | |||
| 4908 | } | |||
| 4909 | lb = getLB_VAL_CP(**curpos)_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, (** curpos))]; | |||
| 4910 | } | |||
| 4911 | ||||
| 4912 | return lb; | |||
| 4913 | } | |||
| 4914 | ||||
| 4915 | STATICstatic LB_enum | |||
| 4916 | S_backup_one_LB(pTHX_ const U8 * const strbeg, U8 ** curpos, const bool_Bool utf8_target) | |||
| 4917 | { | |||
| 4918 | dVARstruct Perl___notused_struct; | |||
| 4919 | LB_enum lb; | |||
| 4920 | ||||
| 4921 | PERL_ARGS_ASSERT_BACKUP_ONE_LB((strbeg) ? (void)0 : __assert2("re_exec.c", 4921, __func__, "strbeg" )); ((curpos) ? (void)0 : __assert2("re_exec.c", 4921, __func__ , "curpos")); | |||
| 4922 | ||||
| 4923 | if (*curpos < strbeg) { | |||
| 4924 | return LB_EDGE; | |||
| 4925 | } | |||
| 4926 | ||||
| 4927 | if (utf8_target) { | |||
| 4928 | U8 * prev_char_pos = reghopmaybe3S_reghopmaybe3(*curpos, -1, strbeg); | |||
| 4929 | U8 * prev_prev_char_pos; | |||
| 4930 | ||||
| 4931 | if (! prev_char_pos) { | |||
| 4932 | return LB_EDGE; | |||
| 4933 | } | |||
| 4934 | ||||
| 4935 | if ((prev_prev_char_pos = reghopmaybe3S_reghopmaybe3((U8 *) prev_char_pos, -1, strbeg))) { | |||
| 4936 | lb = getLB_VAL_UTF8(prev_prev_char_pos, prev_char_pos)(((prev_prev_char_pos < prev_char_pos) ? (void)0 : __assert2 ("re_exec.c", 4936, __func__, "prev_prev_char_pos < prev_char_pos" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((prev_prev_char_pos )),(const U8 *) (prev_char_pos),((void*)0))))])); | |||
| 4937 | *curpos = prev_char_pos; | |||
| 4938 | prev_char_pos = prev_prev_char_pos; | |||
| 4939 | } | |||
| 4940 | else { | |||
| 4941 | *curpos = (U8 *) strbeg; | |||
| 4942 | return LB_EDGE; | |||
| 4943 | } | |||
| 4944 | } | |||
| 4945 | else { | |||
| 4946 | if (*curpos - 2 < strbeg) { | |||
| 4947 | *curpos = (U8 *) strbeg; | |||
| 4948 | return LB_EDGE; | |||
| 4949 | } | |||
| 4950 | (*curpos)--; | |||
| 4951 | lb = getLB_VAL_CP(*(*curpos - 1))_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist, (*( *curpos - 1)))]; | |||
| 4952 | } | |||
| 4953 | ||||
| 4954 | return lb; | |||
| 4955 | } | |||
| 4956 | ||||
| 4957 | STATICstatic bool_Bool | |||
| 4958 | S_isSB(pTHX_ SB_enum before, | |||
| 4959 | SB_enum after, | |||
| 4960 | const U8 * const strbeg, | |||
| 4961 | const U8 * const curpos, | |||
| 4962 | const U8 * const strend, | |||
| 4963 | const bool_Bool utf8_target) | |||
| 4964 | { | |||
| 4965 | /* returns a boolean indicating if there is a Sentence Boundary Break | |||
| 4966 | * between the inputs. See https://www.unicode.org/reports/tr29/ */ | |||
| 4967 | ||||
| 4968 | U8 * lpos = (U8 *) curpos; | |||
| 4969 | bool_Bool has_para_sep = FALSE(0); | |||
| 4970 | bool_Bool has_sp = FALSE(0); | |||
| 4971 | ||||
| 4972 | PERL_ARGS_ASSERT_ISSB((strbeg) ? (void)0 : __assert2("re_exec.c", 4972, __func__, "strbeg" )); ((curpos) ? (void)0 : __assert2("re_exec.c", 4972, __func__ , "curpos")); ((strend) ? (void)0 : __assert2("re_exec.c", 4972 , __func__, "strend")); | |||
| 4973 | ||||
| 4974 | /* Break at the start and end of text. | |||
| 4975 | SB1. sot ÷ | |||
| 4976 | SB2. ÷ eot | |||
| 4977 | But unstated in Unicode is don't break if the text is empty */ | |||
| 4978 | if (before == SB_EDGE || after == SB_EDGE) { | |||
| 4979 | return before != after; | |||
| 4980 | } | |||
| 4981 | ||||
| 4982 | /* SB 3: Do not break within CRLF. */ | |||
| 4983 | if (before == SB_CR && after == SB_LF) { | |||
| 4984 | return FALSE(0); | |||
| 4985 | } | |||
| 4986 | ||||
| 4987 | /* Break after paragraph separators. CR and LF are considered | |||
| 4988 | * so because Unicode views text as like word processing text where there | |||
| 4989 | * are no newlines except between paragraphs, and the word processor takes | |||
| 4990 | * care of wrapping without there being hard line-breaks in the text *./ | |||
| 4991 | SB4. Sep | CR | LF ÷ */ | |||
| 4992 | if (before == SB_Sep || before == SB_CR || before == SB_LF) { | |||
| 4993 | return TRUE(1); | |||
| 4994 | } | |||
| 4995 | ||||
| 4996 | /* Ignore Format and Extend characters, except after sot, Sep, CR, or LF. | |||
| 4997 | * (See Section 6.2, Replacing Ignore Rules.) | |||
| 4998 | SB5. X (Extend | Format)* → X */ | |||
| 4999 | if (after == SB_Extend || after == SB_Format) { | |||
| 5000 | ||||
| 5001 | /* Implied is that the these characters attach to everything | |||
| 5002 | * immediately prior to them except for those separator-type | |||
| 5003 | * characters. And the rules earlier have already handled the case | |||
| 5004 | * when one of those immediately precedes the extend char */ | |||
| 5005 | return FALSE(0); | |||
| 5006 | } | |||
| 5007 | ||||
| 5008 | if (before == SB_Extend || before == SB_Format) { | |||
| 5009 | U8 * temp_pos = lpos; | |||
| 5010 | const SB_enum backup = backup_one_SB(strbeg, &temp_pos, utf8_target)S_backup_one_SB( strbeg,&temp_pos,utf8_target); | |||
| 5011 | if ( backup != SB_EDGE | |||
| 5012 | && backup != SB_Sep | |||
| 5013 | && backup != SB_CR | |||
| 5014 | && backup != SB_LF) | |||
| 5015 | { | |||
| 5016 | before = backup; | |||
| 5017 | lpos = temp_pos; | |||
| 5018 | } | |||
| 5019 | ||||
| 5020 | /* Here, both 'before' and 'backup' are these types; implied is that we | |||
| 5021 | * don't break between them */ | |||
| 5022 | if (backup == SB_Extend || backup == SB_Format) { | |||
| 5023 | return FALSE(0); | |||
| 5024 | } | |||
| 5025 | } | |||
| 5026 | ||||
| 5027 | /* Do not break after ambiguous terminators like period, if they are | |||
| 5028 | * immediately followed by a number or lowercase letter, if they are | |||
| 5029 | * between uppercase letters, if the first following letter (optionally | |||
| 5030 | * after certain punctuation) is lowercase, or if they are followed by | |||
| 5031 | * "continuation" punctuation such as comma, colon, or semicolon. For | |||
| 5032 | * example, a period may be an abbreviation or numeric period, and thus may | |||
| 5033 | * not mark the end of a sentence. | |||
| 5034 | ||||
| 5035 | * SB6. ATerm × Numeric */ | |||
| 5036 | if (before == SB_ATerm && after == SB_Numeric) { | |||
| 5037 | return FALSE(0); | |||
| 5038 | } | |||
| 5039 | ||||
| 5040 | /* SB7. (Upper | Lower) ATerm × Upper */ | |||
| 5041 | if (before == SB_ATerm && after == SB_Upper) { | |||
| 5042 | U8 * temp_pos = lpos; | |||
| 5043 | SB_enum backup = backup_one_SB(strbeg, &temp_pos, utf8_target)S_backup_one_SB( strbeg,&temp_pos,utf8_target); | |||
| 5044 | if (backup == SB_Upper || backup == SB_Lower) { | |||
| 5045 | return FALSE(0); | |||
| 5046 | } | |||
| 5047 | } | |||
| 5048 | ||||
| 5049 | /* The remaining rules that aren't the final one, all require an STerm or | |||
| 5050 | * an ATerm after having backed up over some Close* Sp*, and in one case an | |||
| 5051 | * optional Paragraph separator, although one rule doesn't have any Sp's in it. | |||
| 5052 | * So do that backup now, setting flags if either Sp or a paragraph | |||
| 5053 | * separator are found */ | |||
| 5054 | ||||
| 5055 | if (before == SB_Sep || before == SB_CR || before == SB_LF) { | |||
| 5056 | has_para_sep = TRUE(1); | |||
| 5057 | before = backup_one_SB(strbeg, &lpos, utf8_target)S_backup_one_SB( strbeg,&lpos,utf8_target); | |||
| 5058 | } | |||
| 5059 | ||||
| 5060 | if (before == SB_Sp) { | |||
| 5061 | has_sp = TRUE(1); | |||
| 5062 | do { | |||
| 5063 | before = backup_one_SB(strbeg, &lpos, utf8_target)S_backup_one_SB( strbeg,&lpos,utf8_target); | |||
| 5064 | } | |||
| 5065 | while (before == SB_Sp); | |||
| 5066 | } | |||
| 5067 | ||||
| 5068 | while (before == SB_Close) { | |||
| 5069 | before = backup_one_SB(strbeg, &lpos, utf8_target)S_backup_one_SB( strbeg,&lpos,utf8_target); | |||
| 5070 | } | |||
| 5071 | ||||
| 5072 | /* The next few rules apply only when the backed-up-to is an ATerm, and in | |||
| 5073 | * most cases an STerm */ | |||
| 5074 | if (before == SB_STerm || before == SB_ATerm) { | |||
| 5075 | ||||
| 5076 | /* So, here the lhs matches | |||
| 5077 | * (STerm | ATerm) Close* Sp* (Sep | CR | LF)? | |||
| 5078 | * and we have set flags if we found an Sp, or the optional Sep,CR,LF. | |||
| 5079 | * The rules that apply here are: | |||
| 5080 | * | |||
| 5081 | * SB8 ATerm Close* Sp* × ( ¬(OLetter | Upper | Lower | Sep | CR | |||
| 5082 | | LF | STerm | ATerm) )* Lower | |||
| 5083 | SB8a (STerm | ATerm) Close* Sp* × (SContinue | STerm | ATerm) | |||
| 5084 | SB9 (STerm | ATerm) Close* × (Close | Sp | Sep | CR | LF) | |||
| 5085 | SB10 (STerm | ATerm) Close* Sp* × (Sp | Sep | CR | LF) | |||
| 5086 | SB11 (STerm | ATerm) Close* Sp* (Sep | CR | LF)? ÷ | |||
| 5087 | */ | |||
| 5088 | ||||
| 5089 | /* And all but SB11 forbid having seen a paragraph separator */ | |||
| 5090 | if (! has_para_sep) { | |||
| 5091 | if (before == SB_ATerm) { /* SB8 */ | |||
| 5092 | U8 * rpos = (U8 *) curpos; | |||
| 5093 | SB_enum later = after; | |||
| 5094 | ||||
| 5095 | while ( later != SB_OLetter | |||
| 5096 | && later != SB_Upper | |||
| 5097 | && later != SB_Lower | |||
| 5098 | && later != SB_Sep | |||
| 5099 | && later != SB_CR | |||
| 5100 | && later != SB_LF | |||
| 5101 | && later != SB_STerm | |||
| 5102 | && later != SB_ATerm | |||
| 5103 | && later != SB_EDGE) | |||
| 5104 | { | |||
| 5105 | later = advance_one_SB(&rpos, strend, utf8_target)S_advance_one_SB( &rpos,strend,utf8_target); | |||
| 5106 | } | |||
| 5107 | if (later == SB_Lower) { | |||
| 5108 | return FALSE(0); | |||
| 5109 | } | |||
| 5110 | } | |||
| 5111 | ||||
| 5112 | if ( after == SB_SContinue /* SB8a */ | |||
| 5113 | || after == SB_STerm | |||
| 5114 | || after == SB_ATerm) | |||
| 5115 | { | |||
| 5116 | return FALSE(0); | |||
| 5117 | } | |||
| 5118 | ||||
| 5119 | if (! has_sp) { /* SB9 applies only if there was no Sp* */ | |||
| 5120 | if ( after == SB_Close | |||
| 5121 | || after == SB_Sp | |||
| 5122 | || after == SB_Sep | |||
| 5123 | || after == SB_CR | |||
| 5124 | || after == SB_LF) | |||
| 5125 | { | |||
| 5126 | return FALSE(0); | |||
| 5127 | } | |||
| 5128 | } | |||
| 5129 | ||||
| 5130 | /* SB10. This and SB9 could probably be combined some way, but khw | |||
| 5131 | * has decided to follow the Unicode rule book precisely for | |||
| 5132 | * simplified maintenance */ | |||
| 5133 | if ( after == SB_Sp | |||
| 5134 | || after == SB_Sep | |||
| 5135 | || after == SB_CR | |||
| 5136 | || after == SB_LF) | |||
| 5137 | { | |||
| 5138 | return FALSE(0); | |||
| 5139 | } | |||
| 5140 | } | |||
| 5141 | ||||
| 5142 | /* SB11. */ | |||
| 5143 | return TRUE(1); | |||
| 5144 | } | |||
| 5145 | ||||
| 5146 | /* Otherwise, do not break. | |||
| 5147 | SB12. Any × Any */ | |||
| 5148 | ||||
| 5149 | return FALSE(0); | |||
| 5150 | } | |||
| 5151 | ||||
| 5152 | STATICstatic SB_enum | |||
| 5153 | S_advance_one_SB(pTHX_ U8 ** curpos, const U8 * const strend, const bool_Bool utf8_target) | |||
| 5154 | { | |||
| 5155 | dVARstruct Perl___notused_struct; | |||
| 5156 | SB_enum sb; | |||
| 5157 | ||||
| 5158 | PERL_ARGS_ASSERT_ADVANCE_ONE_SB((curpos) ? (void)0 : __assert2("re_exec.c", 5158, __func__, "curpos" )); ((strend) ? (void)0 : __assert2("re_exec.c", 5158, __func__ , "strend")); | |||
| 5159 | ||||
| 5160 | if (*curpos >= strend) { | |||
| 5161 | return SB_EDGE; | |||
| 5162 | } | |||
| 5163 | ||||
| 5164 | if (utf8_target) { | |||
| 5165 | do { | |||
| 5166 | *curpos += UTF8SKIP(*curpos)PL_utf8skip[*(const U8*)(*curpos)]; | |||
| 5167 | if (*curpos >= strend) { | |||
| 5168 | return SB_EDGE; | |||
| 5169 | } | |||
| 5170 | sb = getSB_VAL_UTF8(*curpos, strend)(((*curpos < strend) ? (void)0 : __assert2("re_exec.c", 5170 , __func__, "*curpos < strend")), (_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (*curpos)),(const U8 *) (strend),((void*)0))))])); | |||
| 5171 | } while (sb == SB_Extend || sb == SB_Format); | |||
| 5172 | } | |||
| 5173 | else { | |||
| 5174 | do { | |||
| 5175 | (*curpos)++; | |||
| 5176 | if (*curpos >= strend) { | |||
| 5177 | return SB_EDGE; | |||
| 5178 | } | |||
| 5179 | sb = getSB_VAL_CP(**curpos)_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, (** curpos))]; | |||
| 5180 | } while (sb == SB_Extend || sb == SB_Format); | |||
| 5181 | } | |||
| 5182 | ||||
| 5183 | return sb; | |||
| 5184 | } | |||
| 5185 | ||||
| 5186 | STATICstatic SB_enum | |||
| 5187 | S_backup_one_SB(pTHX_ const U8 * const strbeg, U8 ** curpos, const bool_Bool utf8_target) | |||
| 5188 | { | |||
| 5189 | dVARstruct Perl___notused_struct; | |||
| 5190 | SB_enum sb; | |||
| 5191 | ||||
| 5192 | PERL_ARGS_ASSERT_BACKUP_ONE_SB((strbeg) ? (void)0 : __assert2("re_exec.c", 5192, __func__, "strbeg" )); ((curpos) ? (void)0 : __assert2("re_exec.c", 5192, __func__ , "curpos")); | |||
| 5193 | ||||
| 5194 | if (*curpos < strbeg) { | |||
| 5195 | return SB_EDGE; | |||
| 5196 | } | |||
| 5197 | ||||
| 5198 | if (utf8_target) { | |||
| 5199 | U8 * prev_char_pos = reghopmaybe3S_reghopmaybe3(*curpos, -1, strbeg); | |||
| 5200 | if (! prev_char_pos) { | |||
| 5201 | return SB_EDGE; | |||
| 5202 | } | |||
| 5203 | ||||
| 5204 | /* Back up over Extend and Format. curpos is always just to the right | |||
| 5205 | * of the characater whose value we are getting */ | |||
| 5206 | do { | |||
| 5207 | U8 * prev_prev_char_pos; | |||
| 5208 | if ((prev_prev_char_pos = reghopmaybe3S_reghopmaybe3((U8 *) prev_char_pos, -1, | |||
| 5209 | strbeg))) | |||
| 5210 | { | |||
| 5211 | sb = getSB_VAL_UTF8(prev_prev_char_pos, prev_char_pos)(((prev_prev_char_pos < prev_char_pos) ? (void)0 : __assert2 ("re_exec.c", 5211, __func__, "prev_prev_char_pos < prev_char_pos" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((prev_prev_char_pos )),(const U8 *) (prev_char_pos),((void*)0))))])); | |||
| 5212 | *curpos = prev_char_pos; | |||
| 5213 | prev_char_pos = prev_prev_char_pos; | |||
| 5214 | } | |||
| 5215 | else { | |||
| 5216 | *curpos = (U8 *) strbeg; | |||
| 5217 | return SB_EDGE; | |||
| 5218 | } | |||
| 5219 | } while (sb == SB_Extend || sb == SB_Format); | |||
| 5220 | } | |||
| 5221 | else { | |||
| 5222 | do { | |||
| 5223 | if (*curpos - 2 < strbeg) { | |||
| 5224 | *curpos = (U8 *) strbeg; | |||
| 5225 | return SB_EDGE; | |||
| 5226 | } | |||
| 5227 | (*curpos)--; | |||
| 5228 | sb = getSB_VAL_CP(*(*curpos - 1))_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist, (*( *curpos - 1)))]; | |||
| 5229 | } while (sb == SB_Extend || sb == SB_Format); | |||
| 5230 | } | |||
| 5231 | ||||
| 5232 | return sb; | |||
| 5233 | } | |||
| 5234 | ||||
| 5235 | STATICstatic bool_Bool | |||
| 5236 | S_isWB(pTHX_ WB_enum previous, | |||
| 5237 | WB_enum before, | |||
| 5238 | WB_enum after, | |||
| 5239 | const U8 * const strbeg, | |||
| 5240 | const U8 * const curpos, | |||
| 5241 | const U8 * const strend, | |||
| 5242 | const bool_Bool utf8_target) | |||
| 5243 | { | |||
| 5244 | /* Return a boolean as to if the boundary between 'before' and 'after' is | |||
| 5245 | * a Unicode word break, using their published algorithm, but tailored for | |||
| 5246 | * Perl by treating spans of white space as one unit. Context may be | |||
| 5247 | * needed to make this determination. If the value for the character | |||
| 5248 | * before 'before' is known, it is passed as 'previous'; otherwise that | |||
| 5249 | * should be set to WB_UNKNOWN. The other input parameters give the | |||
| 5250 | * boundaries and current position in the matching of the string. That | |||
| 5251 | * is, 'curpos' marks the position where the character whose wb value is | |||
| 5252 | * 'after' begins. See http://www.unicode.org/reports/tr29/ */ | |||
| 5253 | ||||
| 5254 | U8 * before_pos = (U8 *) curpos; | |||
| 5255 | U8 * after_pos = (U8 *) curpos; | |||
| 5256 | WB_enum prev = before; | |||
| 5257 | WB_enum next; | |||
| 5258 | ||||
| 5259 | PERL_ARGS_ASSERT_ISWB((strbeg) ? (void)0 : __assert2("re_exec.c", 5259, __func__, "strbeg" )); ((curpos) ? (void)0 : __assert2("re_exec.c", 5259, __func__ , "curpos")); ((strend) ? (void)0 : __assert2("re_exec.c", 5259 , __func__, "strend")); | |||
| 5260 | ||||
| 5261 | /* Rule numbers in the comments below are as of Unicode 9.0 */ | |||
| 5262 | ||||
| 5263 | redo: | |||
| 5264 | before = prev; | |||
| 5265 | switch (WB_table[before][after]) { | |||
| 5266 | case WB_BREAKABLE1: | |||
| 5267 | return TRUE(1); | |||
| 5268 | ||||
| 5269 | case WB_NOBREAK0: | |||
| 5270 | return FALSE(0); | |||
| 5271 | ||||
| 5272 | case WB_hs_then_hs2: /* 2 horizontal spaces in a row */ | |||
| 5273 | next = advance_one_WB(&after_pos, strend, utf8_target,S_advance_one_WB( &after_pos,strend,utf8_target,(0)) | |||
| 5274 | FALSE /* Don't skip Extend nor Format */ )S_advance_one_WB( &after_pos,strend,utf8_target,(0)); | |||
| 5275 | /* A space immediately preceeding an Extend or Format is attached | |||
| 5276 | * to by them, and hence gets separated from previous spaces. | |||
| 5277 | * Otherwise don't break between horizontal white space */ | |||
| 5278 | return next == WB_Extend || next == WB_Format; | |||
| 5279 | ||||
| 5280 | /* WB4 Ignore Format and Extend characters, except when they appear at | |||
| 5281 | * the beginning of a region of text. This code currently isn't | |||
| 5282 | * general purpose, but it works as the rules are currently and likely | |||
| 5283 | * to be laid out. The reason it works is that when 'they appear at | |||
| 5284 | * the beginning of a region of text', the rule is to break before | |||
| 5285 | * them, just like any other character. Therefore, the default rule | |||
| 5286 | * applies and we don't have to look in more depth. Should this ever | |||
| 5287 | * change, we would have to have 2 'case' statements, like in the rules | |||
| 5288 | * below, and backup a single character (not spacing over the extend | |||
| 5289 | * ones) and then see if that is one of the region-end characters and | |||
| 5290 | * go from there */ | |||
| 5291 | case WB_Ex_or_FO_or_ZWJ_then_foo3: | |||
| 5292 | prev = backup_one_WB(&previous, strbeg, &before_pos, utf8_target)S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ); | |||
| 5293 | goto redo; | |||
| 5294 | ||||
| 5295 | case WB_DQ_then_HL4 + WB_BREAKABLE1: | |||
| 5296 | case WB_DQ_then_HL4 + WB_NOBREAK0: | |||
| 5297 | ||||
| 5298 | /* WB7c Hebrew_Letter Double_Quote × Hebrew_Letter */ | |||
| 5299 | ||||
| 5300 | if (backup_one_WB(&previous, strbeg, &before_pos, utf8_target)S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ) | |||
| 5301 | == WB_Hebrew_Letter) | |||
| 5302 | { | |||
| 5303 | return FALSE(0); | |||
| 5304 | } | |||
| 5305 | ||||
| 5306 | return WB_table[before][after] - WB_DQ_then_HL4 == WB_BREAKABLE1; | |||
| 5307 | ||||
| 5308 | case WB_HL_then_DQ6 + WB_BREAKABLE1: | |||
| 5309 | case WB_HL_then_DQ6 + WB_NOBREAK0: | |||
| 5310 | ||||
| 5311 | /* WB7b Hebrew_Letter × Double_Quote Hebrew_Letter */ | |||
| 5312 | ||||
| 5313 | if (advance_one_WB(&after_pos, strend, utf8_target,S_advance_one_WB( &after_pos,strend,utf8_target,(1)) | |||
| 5314 | TRUE /* Do skip Extend and Format */ )S_advance_one_WB( &after_pos,strend,utf8_target,(1)) | |||
| 5315 | == WB_Hebrew_Letter) | |||
| 5316 | { | |||
| 5317 | return FALSE(0); | |||
| 5318 | } | |||
| 5319 | ||||
| 5320 | return WB_table[before][after] - WB_HL_then_DQ6 == WB_BREAKABLE1; | |||
| 5321 | ||||
| 5322 | case WB_LE_or_HL_then_MB_or_ML_or_SQ8 + WB_NOBREAK0: | |||
| 5323 | case WB_LE_or_HL_then_MB_or_ML_or_SQ8 + WB_BREAKABLE1: | |||
| 5324 | ||||
| 5325 | /* WB6 (ALetter | Hebrew_Letter) × (MidLetter | MidNumLet | |||
| 5326 | * | Single_Quote) (ALetter | Hebrew_Letter) */ | |||
| 5327 | ||||
| 5328 | next = advance_one_WB(&after_pos, strend, utf8_target,S_advance_one_WB( &after_pos,strend,utf8_target,(1)) | |||
| 5329 | TRUE /* Do skip Extend and Format */ )S_advance_one_WB( &after_pos,strend,utf8_target,(1)); | |||
| 5330 | ||||
| 5331 | if (next == WB_ALetter || next == WB_Hebrew_Letter) | |||
| 5332 | { | |||
| 5333 | return FALSE(0); | |||
| 5334 | } | |||
| 5335 | ||||
| 5336 | return WB_table[before][after] | |||
| 5337 | - WB_LE_or_HL_then_MB_or_ML_or_SQ8 == WB_BREAKABLE1; | |||
| 5338 | ||||
| 5339 | case WB_MB_or_ML_or_SQ_then_LE_or_HL10 + WB_NOBREAK0: | |||
| 5340 | case WB_MB_or_ML_or_SQ_then_LE_or_HL10 + WB_BREAKABLE1: | |||
| 5341 | ||||
| 5342 | /* WB7 (ALetter | Hebrew_Letter) (MidLetter | MidNumLet | |||
| 5343 | * | Single_Quote) × (ALetter | Hebrew_Letter) */ | |||
| 5344 | ||||
| 5345 | prev = backup_one_WB(&previous, strbeg, &before_pos, utf8_target)S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ); | |||
| 5346 | if (prev == WB_ALetter || prev == WB_Hebrew_Letter) | |||
| 5347 | { | |||
| 5348 | return FALSE(0); | |||
| 5349 | } | |||
| 5350 | ||||
| 5351 | return WB_table[before][after] | |||
| 5352 | - WB_MB_or_ML_or_SQ_then_LE_or_HL10 == WB_BREAKABLE1; | |||
| 5353 | ||||
| 5354 | case WB_MB_or_MN_or_SQ_then_NU12 + WB_NOBREAK0: | |||
| 5355 | case WB_MB_or_MN_or_SQ_then_NU12 + WB_BREAKABLE1: | |||
| 5356 | ||||
| 5357 | /* WB11 Numeric (MidNum | (MidNumLet | Single_Quote)) × Numeric | |||
| 5358 | * */ | |||
| 5359 | ||||
| 5360 | if (backup_one_WB(&previous, strbeg, &before_pos, utf8_target)S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ) | |||
| 5361 | == WB_Numeric) | |||
| 5362 | { | |||
| 5363 | return FALSE(0); | |||
| 5364 | } | |||
| 5365 | ||||
| 5366 | return WB_table[before][after] | |||
| 5367 | - WB_MB_or_MN_or_SQ_then_NU12 == WB_BREAKABLE1; | |||
| 5368 | ||||
| 5369 | case WB_NU_then_MB_or_MN_or_SQ14 + WB_NOBREAK0: | |||
| 5370 | case WB_NU_then_MB_or_MN_or_SQ14 + WB_BREAKABLE1: | |||
| 5371 | ||||
| 5372 | /* WB12 Numeric × (MidNum | MidNumLet | Single_Quote) Numeric */ | |||
| 5373 | ||||
| 5374 | if (advance_one_WB(&after_pos, strend, utf8_target,S_advance_one_WB( &after_pos,strend,utf8_target,(1)) | |||
| 5375 | TRUE /* Do skip Extend and Format */ )S_advance_one_WB( &after_pos,strend,utf8_target,(1)) | |||
| 5376 | == WB_Numeric) | |||
| 5377 | { | |||
| 5378 | return FALSE(0); | |||
| 5379 | } | |||
| 5380 | ||||
| 5381 | return WB_table[before][after] | |||
| 5382 | - WB_NU_then_MB_or_MN_or_SQ14 == WB_BREAKABLE1; | |||
| 5383 | ||||
| 5384 | case WB_RI_then_RI16 + WB_NOBREAK0: | |||
| 5385 | case WB_RI_then_RI16 + WB_BREAKABLE1: | |||
| 5386 | { | |||
| 5387 | int RI_count = 1; | |||
| 5388 | ||||
| 5389 | /* Do not break within emoji flag sequences. That is, do not | |||
| 5390 | * break between regional indicator (RI) symbols if there is an | |||
| 5391 | * odd number of RI characters before the potential break | |||
| 5392 | * point. | |||
| 5393 | * | |||
| 5394 | * WB15 sot (RI RI)* RI × RI | |||
| 5395 | * WB16 [^RI] (RI RI)* RI × RI */ | |||
| 5396 | ||||
| 5397 | while (backup_one_WB(&previous,S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ) | |||
| 5398 | strbeg,S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ) | |||
| 5399 | &before_pos,S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ) | |||
| 5400 | utf8_target)S_backup_one_WB( &previous,strbeg,&before_pos,utf8_target ) == WB_Regional_Indicator) | |||
| 5401 | { | |||
| 5402 | RI_count++; | |||
| 5403 | } | |||
| 5404 | ||||
| 5405 | return RI_count % 2 != 1; | |||
| 5406 | } | |||
| 5407 | ||||
| 5408 | default: | |||
| 5409 | break; | |||
| 5410 | } | |||
| 5411 | ||||
| 5412 | #ifdef DEBUGGING | |||
| 5413 | Perl_re_printf( aTHX_ "Unhandled WB pair: WB_table[%d, %d] = %d\n", | |||
| 5414 | before, after, WB_table[before][after]); | |||
| 5415 | assert(0)((0) ? (void)0 : __assert2("re_exec.c", 5415, __func__, "0")); | |||
| 5416 | #endif | |||
| 5417 | return TRUE(1); | |||
| 5418 | } | |||
| 5419 | ||||
| 5420 | STATICstatic WB_enum | |||
| 5421 | S_advance_one_WB(pTHX_ U8 ** curpos, | |||
| 5422 | const U8 * const strend, | |||
| 5423 | const bool_Bool utf8_target, | |||
| 5424 | const bool_Bool skip_Extend_Format) | |||
| 5425 | { | |||
| 5426 | dVARstruct Perl___notused_struct; | |||
| 5427 | WB_enum wb; | |||
| 5428 | ||||
| 5429 | PERL_ARGS_ASSERT_ADVANCE_ONE_WB((curpos) ? (void)0 : __assert2("re_exec.c", 5429, __func__, "curpos" )); ((strend) ? (void)0 : __assert2("re_exec.c", 5429, __func__ , "strend")); | |||
| 5430 | ||||
| 5431 | if (*curpos >= strend) { | |||
| 5432 | return WB_EDGE; | |||
| 5433 | } | |||
| 5434 | ||||
| 5435 | if (utf8_target) { | |||
| 5436 | ||||
| 5437 | /* Advance over Extend and Format */ | |||
| 5438 | do { | |||
| 5439 | *curpos += UTF8SKIP(*curpos)PL_utf8skip[*(const U8*)(*curpos)]; | |||
| 5440 | if (*curpos >= strend) { | |||
| 5441 | return WB_EDGE; | |||
| 5442 | } | |||
| 5443 | wb = getWB_VAL_UTF8(*curpos, strend)(((*curpos < strend) ? (void)0 : __assert2("re_exec.c", 5443 , __func__, "*curpos < strend")), (_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ( (*curpos)),(const U8 *) (strend),((void*)0))))])); | |||
| 5444 | } while ( skip_Extend_Format | |||
| 5445 | && (wb == WB_Extend || wb == WB_Format)); | |||
| 5446 | } | |||
| 5447 | else { | |||
| 5448 | do { | |||
| 5449 | (*curpos)++; | |||
| 5450 | if (*curpos >= strend) { | |||
| 5451 | return WB_EDGE; | |||
| 5452 | } | |||
| 5453 | wb = getWB_VAL_CP(**curpos)_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, (** curpos))]; | |||
| 5454 | } while ( skip_Extend_Format | |||
| 5455 | && (wb == WB_Extend || wb == WB_Format)); | |||
| 5456 | } | |||
| 5457 | ||||
| 5458 | return wb; | |||
| 5459 | } | |||
| 5460 | ||||
| 5461 | STATICstatic WB_enum | |||
| 5462 | S_backup_one_WB(pTHX_ WB_enum * previous, const U8 * const strbeg, U8 ** curpos, const bool_Bool utf8_target) | |||
| 5463 | { | |||
| 5464 | dVARstruct Perl___notused_struct; | |||
| 5465 | WB_enum wb; | |||
| 5466 | ||||
| 5467 | PERL_ARGS_ASSERT_BACKUP_ONE_WB((previous) ? (void)0 : __assert2("re_exec.c", 5467, __func__ , "previous")); ((strbeg) ? (void)0 : __assert2("re_exec.c", 5467 , __func__, "strbeg")); ((curpos) ? (void)0 : __assert2("re_exec.c" , 5467, __func__, "curpos")); | |||
| 5468 | ||||
| 5469 | /* If we know what the previous character's break value is, don't have | |||
| 5470 | * to look it up */ | |||
| 5471 | if (*previous != WB_UNKNOWN) { | |||
| 5472 | wb = *previous; | |||
| 5473 | ||||
| 5474 | /* But we need to move backwards by one */ | |||
| 5475 | if (utf8_target) { | |||
| 5476 | *curpos = reghopmaybe3S_reghopmaybe3(*curpos, -1, strbeg); | |||
| 5477 | if (! *curpos) { | |||
| 5478 | *previous = WB_EDGE; | |||
| 5479 | *curpos = (U8 *) strbeg; | |||
| 5480 | } | |||
| 5481 | else { | |||
| 5482 | *previous = WB_UNKNOWN; | |||
| 5483 | } | |||
| 5484 | } | |||
| 5485 | else { | |||
| 5486 | (*curpos)--; | |||
| 5487 | *previous = (*curpos <= strbeg) ? WB_EDGE : WB_UNKNOWN; | |||
| 5488 | } | |||
| 5489 | ||||
| 5490 | /* And we always back up over these three types */ | |||
| 5491 | if (wb != WB_Extend && wb != WB_Format && wb != WB_ZWJ) { | |||
| 5492 | return wb; | |||
| 5493 | } | |||
| 5494 | } | |||
| 5495 | ||||
| 5496 | if (*curpos < strbeg) { | |||
| 5497 | return WB_EDGE; | |||
| 5498 | } | |||
| 5499 | ||||
| 5500 | if (utf8_target) { | |||
| 5501 | U8 * prev_char_pos = reghopmaybe3S_reghopmaybe3(*curpos, -1, strbeg); | |||
| 5502 | if (! prev_char_pos) { | |||
| 5503 | return WB_EDGE; | |||
| 5504 | } | |||
| 5505 | ||||
| 5506 | /* Back up over Extend and Format. curpos is always just to the right | |||
| 5507 | * of the characater whose value we are getting */ | |||
| 5508 | do { | |||
| 5509 | U8 * prev_prev_char_pos; | |||
| 5510 | if ((prev_prev_char_pos = reghopmaybe3S_reghopmaybe3((U8 *) prev_char_pos, | |||
| 5511 | -1, | |||
| 5512 | strbeg))) | |||
| 5513 | { | |||
| 5514 | wb = getWB_VAL_UTF8(prev_prev_char_pos, prev_char_pos)(((prev_prev_char_pos < prev_char_pos) ? (void)0 : __assert2 ("re_exec.c", 5514, __func__, "prev_prev_char_pos < prev_char_pos" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((prev_prev_char_pos )),(const U8 *) (prev_char_pos),((void*)0))))])); | |||
| 5515 | *curpos = prev_char_pos; | |||
| 5516 | prev_char_pos = prev_prev_char_pos; | |||
| 5517 | } | |||
| 5518 | else { | |||
| 5519 | *curpos = (U8 *) strbeg; | |||
| 5520 | return WB_EDGE; | |||
| 5521 | } | |||
| 5522 | } while (wb == WB_Extend || wb == WB_Format || wb == WB_ZWJ); | |||
| 5523 | } | |||
| 5524 | else { | |||
| 5525 | do { | |||
| 5526 | if (*curpos - 2 < strbeg) { | |||
| 5527 | *curpos = (U8 *) strbeg; | |||
| 5528 | return WB_EDGE; | |||
| 5529 | } | |||
| 5530 | (*curpos)--; | |||
| 5531 | wb = getWB_VAL_CP(*(*curpos - 1))_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist, (*( *curpos - 1)))]; | |||
| 5532 | } while (wb == WB_Extend || wb == WB_Format); | |||
| 5533 | } | |||
| 5534 | ||||
| 5535 | return wb; | |||
| 5536 | } | |||
| 5537 | ||||
| 5538 | /* Macros for regmatch(), using its internal variables */ | |||
| 5539 | #define NEXTCHR_EOS-10 -10 /* nextchr has fallen off the end */ | |||
| 5540 | #define NEXTCHR_IS_EOS(nextchr < 0) (nextchr < 0) | |||
| 5541 | ||||
| 5542 | #define SET_nextchrnextchr = ((locinput < reginfo->strend) ? ((int)*(const U8*)(locinput)) : -10) \ | |||
| 5543 | nextchr = ((locinput < reginfo->strend) ? UCHARAT(locinput)((int)*(const U8*)(locinput)) : NEXTCHR_EOS-10) | |||
| 5544 | ||||
| 5545 | #define SET_locinput(p)locinput = (p); nextchr = ((locinput < reginfo->strend) ? ((int)*(const U8*)(locinput)) : -10) \ | |||
| 5546 | locinput = (p); \ | |||
| 5547 | SET_nextchrnextchr = ((locinput < reginfo->strend) ? ((int)*(const U8*)(locinput)) : -10) | |||
| 5548 | ||||
| 5549 | #define sayYESgoto yes goto yes | |||
| 5550 | #define sayNOgoto no goto no | |||
| 5551 | #define sayNO_SILENTgoto no_silent goto no_silent | |||
| 5552 | ||||
| 5553 | /* we dont use STMT_START/END here because it leads to | |||
| 5554 | "unreachable code" warnings, which are bogus, but distracting. */ | |||
| 5555 | #define CACHEsayNOif (ST.cache_mask) reginfo->info_aux->poscache[ST.cache_offset ] |= ST.cache_mask; goto no \ | |||
| 5556 | if (ST.cache_mask) \ | |||
| 5557 | reginfo->info_aux->poscache[ST.cache_offset] |= ST.cache_mask; \ | |||
| 5558 | sayNOgoto no | |||
| 5559 | ||||
| 5560 | #define EVAL_CLOSE_PAREN_IS(st,expr)( ( ( st ) ) && ( ( st )->u.eval.close_paren ) && ( ( ( st )->u.eval.close_paren ) == ( (expr) + 1 ) ) ) \ | |||
| 5561 | ( \ | |||
| 5562 | ( ( st ) ) && \ | |||
| 5563 | ( ( st )->u.eval.close_paren ) && \ | |||
| 5564 | ( ( ( st )->u.eval.close_paren ) == ( (expr) + 1 ) ) \ | |||
| 5565 | ) | |||
| 5566 | ||||
| 5567 | #define EVAL_CLOSE_PAREN_IS_TRUE(st,expr)( ( ( st ) ) && ( ( st )->u.eval.close_paren ) && ( ( expr ) ) && ( ( ( st )->u.eval.close_paren ) == ( (expr) + 1 ) ) ) \ | |||
| 5568 | ( \ | |||
| 5569 | ( ( st ) ) && \ | |||
| 5570 | ( ( st )->u.eval.close_paren ) && \ | |||
| 5571 | ( ( expr ) ) && \ | |||
| 5572 | ( ( ( st )->u.eval.close_paren ) == ( (expr) + 1 ) ) \ | |||
| 5573 | ) | |||
| 5574 | ||||
| 5575 | ||||
| 5576 | #define EVAL_CLOSE_PAREN_SET(st,expr)(st)->u.eval.close_paren = ( (expr) + 1 ) \ | |||
| 5577 | (st)->u.eval.close_paren = ( (expr) + 1 ) | |||
| 5578 | ||||
| 5579 | #define EVAL_CLOSE_PAREN_CLEAR(st)(st)->u.eval.close_paren = 0 \ | |||
| 5580 | (st)->u.eval.close_paren = 0 | |||
| 5581 | ||||
| 5582 | /* push a new state then goto it */ | |||
| 5583 | ||||
| 5584 | #define PUSH_STATE_GOTO(state, node, input, eol, sr0)pushinput = input; pusheol = eol; pushsr0 = sr0; scan = node; st->resume_state = state; goto push_state; \ | |||
| 5585 | pushinput = input; \ | |||
| 5586 | pusheol = eol; \ | |||
| 5587 | pushsr0 = sr0; \ | |||
| 5588 | scan = node; \ | |||
| 5589 | st->resume_state = state; \ | |||
| 5590 | goto push_state; | |||
| 5591 | ||||
| 5592 | /* push a new state with success backtracking, then goto it */ | |||
| 5593 | ||||
| 5594 | #define PUSH_YES_STATE_GOTO(state, node, input, eol, sr0)pushinput = input; pusheol = eol; pushsr0 = sr0; scan = node; st->resume_state = state; goto push_yes_state; \ | |||
| 5595 | pushinput = input; \ | |||
| 5596 | pusheol = eol; \ | |||
| 5597 | pushsr0 = sr0; \ | |||
| 5598 | scan = node; \ | |||
| 5599 | st->resume_state = state; \ | |||
| 5600 | goto push_yes_state; | |||
| 5601 | ||||
| 5602 | #define DEBUG_STATE_pp(pp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0); \ | |||
| 5603 | DEBUG_STATE_r({ \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5604 | DUMP_EXEC_POS(locinput, scan, utf8_target,depth); \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5605 | Perl_re_printf( aTHX_ \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5606 | "%*s" pp " %s%s%s%s%s\n", \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5607 | INDENT_CHARS(depth), "", \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5608 | PL_reg_name[st->resume_state], \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5609 | ((st==yes_state||st==mark_state) ? "[" : ""), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5610 | ((st==yes_state) ? "Y" : ""), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5611 | ((st==mark_state) ? "M" : ""), \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5612 | ((st==yes_state||st==mark_state) ? "]" : "") \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5613 | ); \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0) | |||
| 5614 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" pp " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0); | |||
| 5615 | ||||
| 5616 | /* | |||
| 5617 | ||||
| 5618 | regmatch() - main matching routine | |||
| 5619 | ||||
| 5620 | This is basically one big switch statement in a loop. We execute an op, | |||
| 5621 | set 'next' to point the next op, and continue. If we come to a point which | |||
| 5622 | we may need to backtrack to on failure such as (A|B|C), we push a | |||
| 5623 | backtrack state onto the backtrack stack. On failure, we pop the top | |||
| 5624 | state, and re-enter the loop at the state indicated. If there are no more | |||
| 5625 | states to pop, we return failure. | |||
| 5626 | ||||
| 5627 | Sometimes we also need to backtrack on success; for example /A+/, where | |||
| 5628 | after successfully matching one A, we need to go back and try to | |||
| 5629 | match another one; similarly for lookahead assertions: if the assertion | |||
| 5630 | completes successfully, we backtrack to the state just before the assertion | |||
| 5631 | and then carry on. In these cases, the pushed state is marked as | |||
| 5632 | 'backtrack on success too'. This marking is in fact done by a chain of | |||
| 5633 | pointers, each pointing to the previous 'yes' state. On success, we pop to | |||
| 5634 | the nearest yes state, discarding any intermediate failure-only states. | |||
| 5635 | Sometimes a yes state is pushed just to force some cleanup code to be | |||
| 5636 | called at the end of a successful match or submatch; e.g. (??{$re}) uses | |||
| 5637 | it to free the inner regex. | |||
| 5638 | ||||
| 5639 | Note that failure backtracking rewinds the cursor position, while | |||
| 5640 | success backtracking leaves it alone. | |||
| 5641 | ||||
| 5642 | A pattern is complete when the END op is executed, while a subpattern | |||
| 5643 | such as (?=foo) is complete when the SUCCESS op is executed. Both of these | |||
| 5644 | ops trigger the "pop to last yes state if any, otherwise return true" | |||
| 5645 | behaviour. | |||
| 5646 | ||||
| 5647 | A common convention in this function is to use A and B to refer to the two | |||
| 5648 | subpatterns (or to the first nodes thereof) in patterns like /A*B/: so A is | |||
| 5649 | the subpattern to be matched possibly multiple times, while B is the entire | |||
| 5650 | rest of the pattern. Variable and state names reflect this convention. | |||
| 5651 | ||||
| 5652 | The states in the main switch are the union of ops and failure/success of | |||
| 5653 | substates associated with that op. For example, IFMATCH is the op | |||
| 5654 | that does lookahead assertions /(?=A)B/ and so the IFMATCH state means | |||
| 5655 | 'execute IFMATCH'; while IFMATCH_A is a state saying that we have just | |||
| 5656 | successfully matched A and IFMATCH_A_fail is a state saying that we have | |||
| 5657 | just failed to match A. Resume states always come in pairs. The backtrack | |||
| 5658 | state we push is marked as 'IFMATCH_A', but when that is popped, we resume | |||
| 5659 | at IFMATCH_A or IFMATCH_A_fail, depending on whether we are backtracking | |||
| 5660 | on success or failure. | |||
| 5661 | ||||
| 5662 | The struct that holds a backtracking state is actually a big union, with | |||
| 5663 | one variant for each major type of op. The variable st points to the | |||
| 5664 | top-most backtrack struct. To make the code clearer, within each | |||
| 5665 | block of code we #define ST to alias the relevant union. | |||
| 5666 | ||||
| 5667 | Here's a concrete example of a (vastly oversimplified) IFMATCH | |||
| 5668 | implementation: | |||
| 5669 | ||||
| 5670 | switch (state) { | |||
| 5671 | .... | |||
| 5672 | ||||
| 5673 | #define ST st->u.ifmatch | |||
| 5674 | ||||
| 5675 | case IFMATCH: // we are executing the IFMATCH op, (?=A)B | |||
| 5676 | ST.foo = ...; // some state we wish to save | |||
| 5677 | ... | |||
| 5678 | // push a yes backtrack state with a resume value of | |||
| 5679 | // IFMATCH_A/IFMATCH_A_fail, then continue execution at the | |||
| 5680 | // first node of A: | |||
| 5681 | PUSH_YES_STATE_GOTO(IFMATCH_A, A, newinput); | |||
| 5682 | // NOTREACHED | |||
| 5683 | ||||
| 5684 | case IFMATCH_A: // we have successfully executed A; now continue with B | |||
| 5685 | next = B; | |||
| 5686 | bar = ST.foo; // do something with the preserved value | |||
| 5687 | break; | |||
| 5688 | ||||
| 5689 | case IFMATCH_A_fail: // A failed, so the assertion failed | |||
| 5690 | ...; // do some housekeeping, then ... | |||
| 5691 | sayNO; // propagate the failure | |||
| 5692 | ||||
| 5693 | #undef ST | |||
| 5694 | ||||
| 5695 | ... | |||
| 5696 | } | |||
| 5697 | ||||
| 5698 | For any old-timers reading this who are familiar with the old recursive | |||
| 5699 | approach, the code above is equivalent to: | |||
| 5700 | ||||
| 5701 | case IFMATCH: // we are executing the IFMATCH op, (?=A)B | |||
| 5702 | { | |||
| 5703 | int foo = ... | |||
| 5704 | ... | |||
| 5705 | if (regmatch(A)) { | |||
| 5706 | next = B; | |||
| 5707 | bar = foo; | |||
| 5708 | break; | |||
| 5709 | } | |||
| 5710 | ...; // do some housekeeping, then ... | |||
| 5711 | sayNO; // propagate the failure | |||
| 5712 | } | |||
| 5713 | ||||
| 5714 | The topmost backtrack state, pointed to by st, is usually free. If you | |||
| 5715 | want to claim it, populate any ST.foo fields in it with values you wish to | |||
| 5716 | save, then do one of | |||
| 5717 | ||||
| 5718 | PUSH_STATE_GOTO(resume_state, node, newinput, new_eol); | |||
| 5719 | PUSH_YES_STATE_GOTO(resume_state, node, newinput, new_eol); | |||
| 5720 | ||||
| 5721 | which sets that backtrack state's resume value to 'resume_state', pushes a | |||
| 5722 | new free entry to the top of the backtrack stack, then goes to 'node'. | |||
| 5723 | On backtracking, the free slot is popped, and the saved state becomes the | |||
| 5724 | new free state. An ST.foo field in this new top state can be temporarily | |||
| 5725 | accessed to retrieve values, but once the main loop is re-entered, it | |||
| 5726 | becomes available for reuse. | |||
| 5727 | ||||
| 5728 | Note that the depth of the backtrack stack constantly increases during the | |||
| 5729 | left-to-right execution of the pattern, rather than going up and down with | |||
| 5730 | the pattern nesting. For example the stack is at its maximum at Z at the | |||
| 5731 | end of the pattern, rather than at X in the following: | |||
| 5732 | ||||
| 5733 | /(((X)+)+)+....(Y)+....Z/ | |||
| 5734 | ||||
| 5735 | The only exceptions to this are lookahead/behind assertions and the cut, | |||
| 5736 | (?>A), which pop all the backtrack states associated with A before | |||
| 5737 | continuing. | |||
| 5738 | ||||
| 5739 | Backtrack state structs are allocated in slabs of about 4K in size. | |||
| 5740 | PL_regmatch_state and st always point to the currently active state, | |||
| 5741 | and PL_regmatch_slab points to the slab currently containing | |||
| 5742 | PL_regmatch_state. The first time regmatch() is called, the first slab is | |||
| 5743 | allocated, and is never freed until interpreter destruction. When the slab | |||
| 5744 | is full, a new one is allocated and chained to the end. At exit from | |||
| 5745 | regmatch(), slabs allocated since entry are freed. | |||
| 5746 | ||||
| 5747 | In order to work with variable length lookbehinds, an upper limit is placed on | |||
| 5748 | lookbehinds which is set to where the match position is at the end of where the | |||
| 5749 | lookbehind would get to. Nothing in the lookbehind should match above that, | |||
| 5750 | except we should be able to look beyond if for things like \b, which need the | |||
| 5751 | next character in the string to be able to determine if this is a boundary or | |||
| 5752 | not. We also can't match the end of string/line unless we are also at the end | |||
| 5753 | of the entire string, so NEXTCHR_IS_EOS remains the same, and for those OPs | |||
| 5754 | that match a width, we have to add a condition that they are within the legal | |||
| 5755 | bounds of our window into the string. | |||
| 5756 | ||||
| 5757 | */ | |||
| 5758 | ||||
| 5759 | /* returns -1 on failure, $+[0] on success */ | |||
| 5760 | STATICstatic SSize_tssize_t | |||
| 5761 | S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog) | |||
| 5762 | { | |||
| 5763 | dVARstruct Perl___notused_struct; | |||
| 5764 | const bool_Bool utf8_target = reginfo->is_utf8_target; | |||
| 5765 | const U32 uniflags = UTF8_ALLOW_DEFAULT0; | |||
| 5766 | REGEXP *rex_sv = reginfo->prog; | |||
| 5767 | regexp *rex = ReANY(rex_sv)Perl_ReANY((const REGEXP *)(rex_sv)); | |||
| 5768 | RXi_GET_DECL(rex,rexi)regexp_internal *rexi = ((regexp_internal *)((rex)->pprivate )); | |||
| 5769 | /* the current state. This is a cached copy of PL_regmatch_state */ | |||
| 5770 | regmatch_state *st; | |||
| 5771 | /* cache heavy used fields of st in registers */ | |||
| 5772 | regnode *scan; | |||
| 5773 | regnode *next; | |||
| 5774 | U32 n = 0; /* general value; init to avoid compiler warning */ | |||
| 5775 | SSize_tssize_t ln = 0; /* len or last; init to avoid compiler warning */ | |||
| 5776 | SSize_tssize_t endref = 0; /* offset of end of backref when ln is start */ | |||
| 5777 | char *locinput = startpos; | |||
| 5778 | char *loceol = reginfo->strend; | |||
| 5779 | char *pushinput; /* where to continue after a PUSH */ | |||
| 5780 | char *pusheol; /* where to stop matching (loceol) after a PUSH */ | |||
| 5781 | U8 *pushsr0; /* save starting pos of script run */ | |||
| 5782 | I32 nextchr; /* is always set to UCHARAT(locinput), or -1 at EOS */ | |||
| 5783 | ||||
| 5784 | bool_Bool result = 0; /* return value of S_regmatch */ | |||
| 5785 | U32 depth = 0; /* depth of backtrack stack */ | |||
| 5786 | U32 nochange_depth = 0; /* depth of GOSUB recursion with nochange */ | |||
| 5787 | const U32 max_nochange_depth = | |||
| 5788 | (3 * rex->nparens > MAX_RECURSE_EVAL_NOCHANGE_DEPTH10) ? | |||
| ||||
| 5789 | 3 * rex->nparens : MAX_RECURSE_EVAL_NOCHANGE_DEPTH10; | |||
| 5790 | regmatch_state *yes_state = NULL((void*)0); /* state to pop to on success of | |||
| 5791 | subpattern */ | |||
| 5792 | /* mark_state piggy backs on the yes_state logic so that when we unwind | |||
| 5793 | the stack on success we can update the mark_state as we go */ | |||
| 5794 | regmatch_state *mark_state = NULL((void*)0); /* last mark state we have seen */ | |||
| 5795 | regmatch_state *cur_eval = NULL((void*)0); /* most recent EVAL_AB state */ | |||
| 5796 | struct regmatch_state *cur_curlyx = NULL((void*)0); /* most recent curlyx */ | |||
| 5797 | U32 state_num; | |||
| 5798 | bool_Bool no_final = 0; /* prevent failure from backtracking? */ | |||
| 5799 | bool_Bool do_cutgroup = 0; /* no_final only until next branch/trie entry */ | |||
| 5800 | char *startpoint = locinput; | |||
| 5801 | SV *popmark = NULL((void*)0); /* are we looking for a mark? */ | |||
| 5802 | SV *sv_commit = NULL((void*)0); /* last mark name seen in failure */ | |||
| 5803 | SV *sv_yes_mark = NULL((void*)0); /* last mark name we have seen | |||
| 5804 | during a successful match */ | |||
| 5805 | U32 lastopen = 0; /* last open we saw */ | |||
| 5806 | bool_Bool has_cutgroup = RXp_HAS_CUTGROUP(rex)((rex)->intflags & 0x00000010) ? 1 : 0; | |||
| 5807 | SV* const oreplsv = GvSVn(PL_replgv)(*((0+(*({GV *const _gvgp = (GV *) (PL_replgv); ((((svtype)(( _gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp )->sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2 ("re_exec.c", 5807, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 5807, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv ? &((0+(*({GV *const _gvgp = (GV *) (PL_replgv ); ((((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV) ? ( void)0 : __assert2("re_exec.c", 5807, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 5807, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv) : &((0+(*({GV *const _gvgp = (GV *) (Perl_gv_add_by_type ( (PL_replgv),SVt_NULL)); ((((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c", 5807, __func__ , "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV")); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV)) ) ? (void)0 : __assert2("re_exec.c", 5807, __func__, "isGV_with_GP(_gvgp)" )); &((_gvgp)->sv_u.svu_gp);})))->gp_sv))); | |||
| 5808 | /* these three flags are set by various ops to signal information to | |||
| 5809 | * the very next op. They have a useful lifetime of exactly one loop | |||
| 5810 | * iteration, and are not preserved or restored by state pushes/pops | |||
| 5811 | */ | |||
| 5812 | bool_Bool sw = 0; /* the condition value in (?(cond)a|b) */ | |||
| 5813 | bool_Bool minmod = 0; /* the next "{n,m}" is a "{n,m}?" */ | |||
| 5814 | int logical = 0; /* the following EVAL is: | |||
| 5815 | 0: (?{...}) | |||
| 5816 | 1: (?(?{...})X|Y) | |||
| 5817 | 2: (??{...}) | |||
| 5818 | or the following IFMATCH/UNLESSM is: | |||
| 5819 | false: plain (?=foo) | |||
| 5820 | true: used as a condition: (?(?=foo)) | |||
| 5821 | */ | |||
| 5822 | PAD* last_pad = NULL((void*)0); | |||
| 5823 | dMULTICALLOP *multicall_cop; _Bool multicall_oldcatch; | |||
| 5824 | U8 gimme = G_SCALAR2; | |||
| 5825 | CV *caller_cv = NULL((void*)0); /* who called us */ | |||
| 5826 | CV *last_pushed_cv = NULL((void*)0); /* most recently called (?{}) CV */ | |||
| 5827 | U32 maxopenparen = 0; /* max '(' index seen so far */ | |||
| 5828 | int to_complement; /* Invert the result? */ | |||
| 5829 | _char_class_number classnum; | |||
| 5830 | bool_Bool is_utf8_pat = reginfo->is_utf8_pat; | |||
| 5831 | bool_Bool match = FALSE(0); | |||
| 5832 | I32 orig_savestack_ix = PL_savestack_ix; | |||
| 5833 | U8 * script_run_begin = NULL((void*)0); | |||
| 5834 | ||||
| 5835 | /* Solaris Studio 12.3 messes up fetching PL_charclass['\n'] */ | |||
| 5836 | #if (defined(__SUNPRO_C) && (__SUNPRO_C == 0x5120) && defined(__x86_641) && defined(USE_64_BIT_ALL)) | |||
| 5837 | # define SOLARIS_BAD_OPTIMIZER | |||
| 5838 | const U32 *pl_charclass_dup = PL_charclass; | |||
| 5839 | # define PL_charclass pl_charclass_dup | |||
| 5840 | #endif | |||
| 5841 | ||||
| 5842 | #ifdef DEBUGGING | |||
| 5843 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 5843, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 5843, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 5844 | #endif | |||
| 5845 | ||||
| 5846 | /* protect against undef(*^R) */ | |||
| 5847 | SAVEFREESV(SvREFCNT_inc_simple_NN(oreplsv))Perl_save_pushptr( (void *)(((SV *)({ void *_p = ((++((oreplsv )->sv_refcnt),((SV *)({ void *_p = (oreplsv); _p; })))); _p ; }))),11); | |||
| 5848 | ||||
| 5849 | /* shut up 'may be used uninitialized' compiler warnings for dMULTICALL */ | |||
| 5850 | multicall_oldcatch = 0; | |||
| 5851 | PERL_UNUSED_VAR(multicall_cop)((void)sizeof(multicall_cop)); | |||
| 5852 | ||||
| 5853 | PERL_ARGS_ASSERT_REGMATCH((reginfo) ? (void)0 : __assert2("re_exec.c", 5853, __func__, "reginfo")); ((startpos) ? (void)0 : __assert2("re_exec.c", 5853 , __func__, "startpos")); ((prog) ? (void)0 : __assert2("re_exec.c" , 5853, __func__, "prog")); | |||
| 5854 | ||||
| 5855 | st = PL_regmatch_state; | |||
| 5856 | ||||
| 5857 | /* Note that nextchr is a byte even in UTF */ | |||
| 5858 | SET_nextchrnextchr = ((locinput < reginfo->strend) ? ((int)*(const U8*)(locinput)) : -10); | |||
| 5859 | scan = prog; | |||
| 5860 | ||||
| 5861 | DEBUG_OPTIMISE_r( DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) do { if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "regmatch start\n" ); }; } while (0);} while (0) | |||
| 5862 | DUMP_EXEC_POS( locinput, scan, utf8_target, depth );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) do { if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "regmatch start\n" ); }; } while (0);} while (0) | |||
| 5863 | Perl_re_printf( aTHX_ "regmatch start\n" );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) do { if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "regmatch start\n" ); }; } while (0);} while (0) | |||
| 5864 | }))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) do { if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "regmatch start\n" ); }; } while (0);} while (0); | |||
| 5865 | ||||
| 5866 | while (scan
| |||
| 5867 | next = scan + NEXT_OFF(scan)((scan)->next_off); | |||
| 5868 | if (next == scan) | |||
| 5869 | next = NULL((void*)0); | |||
| 5870 | state_num = OP(scan)((scan)->type); | |||
| 5871 | ||||
| 5872 | reenter_switch: | |||
| 5873 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5874 | if (state_num <= REGNODE_MAX) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5875 | SV * const prop = sv_newmortal();do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5876 | regnode *rnext = regnext(scan);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5877 | ||||
| 5878 | DUMP_EXEC_POS( locinput, scan, utf8_target, depth );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5879 | regprop(rex, prop, scan, reginfo, NULL);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5880 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5881 | "%*s%" IVdf ":%s(%" IVdf ")\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5882 | INDENT_CHARS(depth), "",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5883 | (IV)(scan - rexi->program),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5884 | SvPVX_const(prop),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5885 | (PL_regkind[OP(scan)] == END || !rnext) ?do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5886 | 0 : (IV)(rnext - rexi->program));do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5887 | }do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0) | |||
| 5888 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) if ( state_num <= 109) { SV * const prop = Perl_sv_newmortal(); regnode *rnext = Perl_regnext( scan); S_dump_exec_pos( locinput ,scan,(reginfo->strend),(reginfo->strbeg),startpos,utf8_target ,depth); my_regprop( rex,prop,scan,reginfo,((void*)0)); Perl_re_printf ( "%*s%" "ld" ":%s(%" "ld" ")\n", ((int)(depth) % 20), "", (IV )(scan - rexi->program), ((const char*)(0 + (prop)->sv_u .svu_pv)), (PL_regkind[((scan)->type)] == 0 || !rnext) ? 0 : (IV)(rnext - rexi->program)); };} while (0); | |||
| 5889 | ||||
| 5890 | to_complement = 0; | |||
| 5891 | ||||
| 5892 | SET_nextchrnextchr = ((locinput < reginfo->strend) ? ((int)*(const U8*)(locinput)) : -10); | |||
| 5893 | assert(nextchr < 256 && (nextchr >= 0 || nextchr == NEXTCHR_EOS))((nextchr < 256 && (nextchr >= 0 || nextchr == - 10)) ? (void)0 : __assert2("re_exec.c", 5893, __func__, "nextchr < 256 && (nextchr >= 0 || nextchr == NEXTCHR_EOS)" )); | |||
| 5894 | ||||
| 5895 | switch (state_num) { | |||
| 5896 | case SBOL2: /* /^../ and /\A../ */ | |||
| 5897 | if (locinput == reginfo->strbeg) | |||
| 5898 | break; | |||
| 5899 | sayNOgoto no; | |||
| 5900 | ||||
| 5901 | case MBOL3: /* /^../m */ | |||
| 5902 | if (locinput == reginfo->strbeg || | |||
| 5903 | (!NEXTCHR_IS_EOS(nextchr < 0) && locinput[-1] == '\n')) | |||
| 5904 | { | |||
| 5905 | break; | |||
| 5906 | } | |||
| 5907 | sayNOgoto no; | |||
| 5908 | ||||
| 5909 | case GPOS7: /* \G */ | |||
| 5910 | if (locinput == reginfo->ganch) | |||
| 5911 | break; | |||
| 5912 | sayNOgoto no; | |||
| 5913 | ||||
| 5914 | case KEEPS105: /* \K */ | |||
| 5915 | /* update the startpoint */ | |||
| 5916 | st->u.keeper.val = rex->offs[0].start; | |||
| 5917 | rex->offs[0].start = locinput - reginfo->strbeg; | |||
| 5918 | PUSH_STATE_GOTO(KEEPS_next, next, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 39); goto push_state ; | |||
| 5919 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 39); goto push_state ;; | |||
| 5920 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 5920 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 5921 | ||||
| 5922 | case KEEPS_next_fail(109 + 40): | |||
| 5923 | /* rollback the start point change */ | |||
| 5924 | rex->offs[0].start = st->u.keeper.val; | |||
| 5925 | sayNO_SILENTgoto no_silent; | |||
| 5926 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 5926 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 5927 | ||||
| 5928 | case MEOL5: /* /..$/m */ | |||
| 5929 | if (!NEXTCHR_IS_EOS(nextchr < 0) && nextchr != '\n') | |||
| 5930 | sayNOgoto no; | |||
| 5931 | break; | |||
| 5932 | ||||
| 5933 | case SEOL4: /* /..$/ */ | |||
| 5934 | if (!NEXTCHR_IS_EOS(nextchr < 0) && nextchr != '\n') | |||
| 5935 | sayNOgoto no; | |||
| 5936 | if (reginfo->strend - locinput > 1) | |||
| 5937 | sayNOgoto no; | |||
| 5938 | break; | |||
| 5939 | ||||
| 5940 | case EOS6: /* \z */ | |||
| 5941 | if (!NEXTCHR_IS_EOS(nextchr < 0)) | |||
| 5942 | sayNOgoto no; | |||
| 5943 | break; | |||
| 5944 | ||||
| 5945 | case SANY17: /* /./s */ | |||
| 5946 | if (NEXTCHR_IS_EOS(nextchr < 0) || locinput >= loceol) | |||
| 5947 | sayNOgoto no; | |||
| 5948 | goto increment_locinput; | |||
| 5949 | ||||
| 5950 | case REG_ANY16: /* /./ */ | |||
| 5951 | if ( NEXTCHR_IS_EOS(nextchr < 0) | |||
| 5952 | || locinput >= loceol | |||
| 5953 | || nextchr == '\n') | |||
| 5954 | { | |||
| 5955 | sayNOgoto no; | |||
| 5956 | } | |||
| 5957 | goto increment_locinput; | |||
| 5958 | ||||
| 5959 | ||||
| 5960 | #undef ST | |||
| 5961 | #define ST st->u.trie | |||
| 5962 | case TRIEC89: /* (ab|cd) with known charclass */ | |||
| 5963 | /* In this case the charclass data is available inline so | |||
| 5964 | we can fail fast without a lot of extra overhead. | |||
| 5965 | */ | |||
| 5966 | if ( ! NEXTCHR_IS_EOS(nextchr < 0) | |||
| 5967 | && locinput < loceol | |||
| 5968 | && ! ANYOF_BITMAP_TEST(scan, nextchr)(((( (U8*) ((regnode_charclass*)(scan))->bitmap) [ ( ( (UV ) (nextchr)) >> 3) ] ) & (1U << ((nextchr) & 7))) ? (_Bool)1 : (_Bool)0)) | |||
| 5969 | { | |||
| 5970 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0) | |||
| 5971 | Perl_re_exec_indentf( aTHX_ "%sTRIE: failed to match trie start class...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0) | |||
| 5972 | depth, PL_colors[4], PL_colors[5])do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0) | |||
| 5973 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0); | |||
| 5974 | sayNO_SILENTgoto no_silent; | |||
| 5975 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 5975 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 5976 | } | |||
| 5977 | /* FALLTHROUGH */ | |||
| 5978 | case TRIE88: /* (ab|cd) */ | |||
| 5979 | /* the basic plan of execution of the trie is: | |||
| 5980 | * At the beginning, run though all the states, and | |||
| 5981 | * find the longest-matching word. Also remember the position | |||
| 5982 | * of the shortest matching word. For example, this pattern: | |||
| 5983 | * 1 2 3 4 5 | |||
| 5984 | * ab|a|x|abcd|abc | |||
| 5985 | * when matched against the string "abcde", will generate | |||
| 5986 | * accept states for all words except 3, with the longest | |||
| 5987 | * matching word being 4, and the shortest being 2 (with | |||
| 5988 | * the position being after char 1 of the string). | |||
| 5989 | * | |||
| 5990 | * Then for each matching word, in word order (i.e. 1,2,4,5), | |||
| 5991 | * we run the remainder of the pattern; on each try setting | |||
| 5992 | * the current position to the character following the word, | |||
| 5993 | * returning to try the next word on failure. | |||
| 5994 | * | |||
| 5995 | * We avoid having to build a list of words at runtime by | |||
| 5996 | * using a compile-time structure, wordinfo[].prev, which | |||
| 5997 | * gives, for each word, the previous accepting word (if any). | |||
| 5998 | * In the case above it would contain the mappings 1->2, 2->0, | |||
| 5999 | * 3->0, 4->5, 5->1. We can use this table to generate, from | |||
| 6000 | * the longest word (4 above), a list of all words, by | |||
| 6001 | * following the list of prev pointers; this gives us the | |||
| 6002 | * unordered list 4,5,1,2. Then given the current word we have | |||
| 6003 | * just tried, we can go through the list and find the | |||
| 6004 | * next-biggest word to try (so if we just failed on word 2, | |||
| 6005 | * the next in the list is 4). | |||
| 6006 | * | |||
| 6007 | * Since at runtime we don't record the matching position in | |||
| 6008 | * the string for each word, we have to work that out for | |||
| 6009 | * each word we're about to process. The wordinfo table holds | |||
| 6010 | * the character length of each word; given that we recorded | |||
| 6011 | * at the start: the position of the shortest word and its | |||
| 6012 | * length in chars, we just need to move the pointer the | |||
| 6013 | * difference between the two char lengths. Depending on | |||
| 6014 | * Unicode status and folding, that's cheap or expensive. | |||
| 6015 | * | |||
| 6016 | * This algorithm is optimised for the case where are only a | |||
| 6017 | * small number of accept states, i.e. 0,1, or maybe 2. | |||
| 6018 | * With lots of accepts states, and having to try all of them, | |||
| 6019 | * it becomes quadratic on number of accept states to find all | |||
| 6020 | * the next words. | |||
| 6021 | */ | |||
| 6022 | ||||
| 6023 | { | |||
| 6024 | /* what type of TRIE am I? (utf8 makes this contextual) */ | |||
| 6025 | DECL_TRIE_TYPE(scan)const enum { trie_plain, trie_utf8, trie_utf8_fold, trie_latin_utf8_fold , trie_utf8_exactfa_fold, trie_latin_utf8_exactfa_fold, trie_utf8l , trie_flu8, trie_flu8_latin } trie_type = ((scan->flags == 40) ? (utf8_target ? trie_utf8 : trie_plain) : (scan->flags == 42) ? (utf8_target ? trie_utf8l : trie_plain) : (scan-> flags == 46) ? (utf8_target ? trie_utf8_exactfa_fold : trie_latin_utf8_exactfa_fold ) : (scan->flags == 48 ? (utf8_target ? trie_flu8 : trie_flu8_latin ) : (utf8_target ? trie_utf8_fold : trie_latin_utf8_fold))); | |||
| 6026 | ||||
| 6027 | /* what trie are we using right now */ | |||
| 6028 | reg_trie_data * const trie | |||
| 6029 | = (reg_trie_data*)rexi->data->data[ ARG( scan )((((struct regnode_1 *)scan)->arg1)) ]; | |||
| 6030 | HV * widecharmap = MUTABLE_HV(rexi->data->data[ ARG( scan ) + 1 ])((HV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) + 1 ]); _p; })); | |||
| 6031 | U32 state = trie->startstate; | |||
| 6032 | ||||
| 6033 | if (scan->flags == EXACTL42 || scan->flags == EXACTFLU848) { | |||
| 6034 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 6035 | if (utf8_target | |||
| 6036 | && ! NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6037 | && UTF8_IS_ABOVE_LATIN1(nextchr)(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6037, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6037, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) | |||
| 6038 | && scan->flags == EXACTL42) | |||
| 6039 | { | |||
| 6040 | /* We only output for EXACTL, as we let the folder | |||
| 6041 | * output this message for EXACTFLU8 to avoid | |||
| 6042 | * duplication */ | |||
| 6043 | _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (locinput)),(const U8 *) (U8 *) (reginfo->strend),(( void*)0)); Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s" , (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type])); } } while (0) | |||
| 6044 | reginfo->strend)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (locinput)),(const U8 *) (U8 *) (reginfo->strend),(( void*)0)); Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s" , (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type])); } } while (0); | |||
| 6045 | } | |||
| 6046 | } | |||
| 6047 | if ( trie->bitmap | |||
| 6048 | && ( NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6049 | || locinput >= loceol | |||
| 6050 | || ! TRIE_BITMAP_TEST(trie, nextchr)((( (U8*) (((reg_trie_data *)(trie))->bitmap)) [ ( ( (UV) ( nextchr)) >> 3) ] ) & (1U << (((U8)nextchr) & 7))))) | |||
| 6051 | { | |||
| 6052 | if (trie->states[ state ].wordnum) { | |||
| 6053 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: matched empty string...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0) | |||
| 6054 | Perl_re_exec_indentf( aTHX_ "%sTRIE: matched empty string...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: matched empty string...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0) | |||
| 6055 | depth, PL_colors[4], PL_colors[5])do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: matched empty string...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0) | |||
| 6056 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: matched empty string...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0); | |||
| 6057 | if (!trie->jump) | |||
| 6058 | break; | |||
| 6059 | } else { | |||
| 6060 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0) | |||
| 6061 | Perl_re_exec_indentf( aTHX_ "%sTRIE: failed to match trie start class...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0) | |||
| 6062 | depth, PL_colors[4], PL_colors[5])do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0) | |||
| 6063 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: failed to match trie start class...%s\n", depth, PL_colors [4], PL_colors[5]);} while (0); | |||
| 6064 | sayNO_SILENTgoto no_silent; | |||
| 6065 | } | |||
| 6066 | } | |||
| 6067 | ||||
| 6068 | { | |||
| 6069 | U8 *uc = ( U8* )locinput; | |||
| 6070 | ||||
| 6071 | STRLEN len = 0; | |||
| 6072 | STRLEN foldlen = 0; | |||
| 6073 | U8 *uscan = (U8*)NULL((void*)0); | |||
| 6074 | U8 foldbuf[ 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 ]; | |||
| 6075 | U32 charcount = 0; /* how many input chars we have matched */ | |||
| 6076 | U32 accepted = 0; /* have we seen any accepting states? */ | |||
| 6077 | ||||
| 6078 | ST.jump = trie->jump; | |||
| 6079 | ST.me = scan; | |||
| 6080 | ST.firstpos = NULL((void*)0); | |||
| 6081 | ST.longfold = FALSE(0); /* char longer if folded => it's harder */ | |||
| 6082 | ST.nextword = 0; | |||
| 6083 | ||||
| 6084 | /* fully traverse the TRIE; note the position of the | |||
| 6085 | shortest accept state and the wordnum of the longest | |||
| 6086 | accept state */ | |||
| 6087 | ||||
| 6088 | while ( state && uc <= (U8*)(loceol) ) { | |||
| 6089 | U32 base = trie->states[ state ].trans.base; | |||
| 6090 | UV uvc = 0; | |||
| 6091 | U16 charid = 0; | |||
| 6092 | U16 wordnum; | |||
| 6093 | wordnum = trie->states[ state ].wordnum; | |||
| 6094 | ||||
| 6095 | if (wordnum) { /* it's an accept state */ | |||
| 6096 | if (!accepted) { | |||
| 6097 | accepted = 1; | |||
| 6098 | /* record first match position */ | |||
| 6099 | if (ST.longfold) { | |||
| 6100 | ST.firstpos = (U8*)locinput; | |||
| 6101 | ST.firstchars = 0; | |||
| 6102 | } | |||
| 6103 | else { | |||
| 6104 | ST.firstpos = uc; | |||
| 6105 | ST.firstchars = charcount; | |||
| 6106 | } | |||
| 6107 | } | |||
| 6108 | if (!ST.nextword || wordnum < ST.nextword) | |||
| 6109 | ST.nextword = wordnum; | |||
| 6110 | ST.topword = wordnum; | |||
| 6111 | } | |||
| 6112 | ||||
| 6113 | DEBUG_TRIE_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0) | |||
| 6114 | DUMP_EXEC_POS( (char *)uc, scan, utf8_target, depth );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0) | |||
| 6115 | /* HERE */do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0) | |||
| 6116 | PerlIO_printf( Perl_debug_log,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0) | |||
| 6117 | "%*s%sTRIE: State: %4" UVxf " Accepted: %c ",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0) | |||
| 6118 | INDENT_CHARS(depth), "", PL_colors[4],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0) | |||
| 6119 | (UV)state, (accepted ? 'Y' : 'N'));do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0) | |||
| 6120 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) { S_dump_exec_pos ( (char *)uc,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); PerlIO_printf( Perl_PerlIO_stderr(), "%*s%sTRIE: State: %4" "lx" " Accepted: %c ", ((int)(depth) % 20), "", PL_colors[4] , (UV)state, (accepted ? 'Y' : 'N')); };} while (0); | |||
| 6121 | ||||
| 6122 | /* read a char and goto next state */ | |||
| 6123 | if ( base && (foldlen || uc < (U8*)(loceol))) { | |||
| 6124 | I32 offset; | |||
| 6125 | REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) loceol,foldbuf,&foldlen,flags); len = (((((U8 *) loceol ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "((U8 *) loceol) >= (uc)")), (((U8 *) loceol) - (uc)) <= 0 ? 0 : ((((((U8 *) loceol) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) loceol) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) loceol - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 6128, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0) | |||
| 6126 | (U8 *) loceol, uscan,do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) loceol,foldbuf,&foldlen,flags); len = (((((U8 *) loceol ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "((U8 *) loceol) >= (uc)")), (((U8 *) loceol) - (uc)) <= 0 ? 0 : ((((((U8 *) loceol) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) loceol) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) loceol - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 6128, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0) | |||
| 6127 | len, uvc, charid, foldlen,do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) loceol,foldbuf,&foldlen,flags); len = (((((U8 *) loceol ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "((U8 *) loceol) >= (uc)")), (((U8 *) loceol) - (uc)) <= 0 ? 0 : ((((((U8 *) loceol) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) loceol) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) loceol - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 6128, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0) | |||
| 6128 | foldbuf, uniflags)do { STRLEN skiplen; U8 flags = 0x2; switch (trie_type) { case trie_flu8: do { if (__builtin_expect(((PL_warn_locale) ? (_Bool )1 : (_Bool)0),(0))) { Perl__warn_problematic_locale(); } } while (0); if ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } goto do_trie_utf8_fold; case trie_utf8_exactfa_fold : flags |= 0x4; case trie_utf8_fold: do_trie_utf8_fold: if ( foldlen >0 ) { uvc = Perl_utf8n_to_uvchr_msgs((const U8*) uscan, foldlen , &len, uniflags, 0, 0); foldlen -= len; uscan += len; len =0; } else { uvc = Perl__to_utf8_fold_flags( (const U8*) uc,( U8 *) loceol,foldbuf,&foldlen,flags); len = (((((U8 *) loceol ) >= (uc)) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "((U8 *) loceol) >= (uc)")), (((U8 *) loceol) - (uc)) <= 0 ? 0 : ((((((U8 *) loceol) - (uc)))<(PL_utf8skip[*(const U8*)(uc)]))?((((U8 *) loceol) - (uc))):(PL_utf8skip[*(const U8 *)(uc)]))); skiplen = ( ((((U64)(((UV) ((uvc) | 0)))) < (( (U8) (0xFF << 6)) & 0xB0))) ? 1 : ((UV) (uvc) < ( 32 * (1U << ( 6))) ? 2 : (UV) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV ) (uvc) < ( 2 * (1U << (5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break; case trie_flu8_latin: do { if ( __builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool)0),(0) )) { Perl__warn_problematic_locale(); } } while (0); goto do_trie_latin_utf8_fold ; case trie_latin_utf8_exactfa_fold: flags |= 0x4; case trie_latin_utf8_fold : do_trie_latin_utf8_fold: if ( foldlen>0 ) { uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uscan, foldlen, &len, uniflags, 0, 0); foldlen -= len; uscan += len; len=0; } else { len = 1; uvc = Perl__to_fold_latin1 ( (U8) *uc, foldbuf, &foldlen, flags); skiplen = ( ((((U64 )(((UV) ((uvc) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 ))) ? 1 : ((UV) (uvc) < (32 * (1U << ( 6))) ? 2 : (UV ) (uvc) < (16 * (1U << (2 * 6))) ? 3 : (UV) (uvc) < ( 8 * (1U << (3 * 6))) ? 4 : (UV) (uvc) < ( 4 * (1U << (4 * 6))) ? 5 : (UV) (uvc) < ( 2 * (1U << ( 5 * 6))) ? 6 : (UV) (uvc) < ((UV) 1U << (6 * 6)) ? 7 : 13)); foldlen -= skiplen; uscan = foldbuf + skiplen; } break ; case trie_utf8l: do { if (__builtin_expect(((PL_warn_locale ) ? (_Bool)1 : (_Bool)0),(0))) { Perl__warn_problematic_locale (); } } while (0); if (utf8_target && (((( (sizeof(*uc ) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((((( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6128, __func__, "( (sizeof(*uc) == 1) || !(((U64)((*uc) | 0)) & ~0xFF))" )), ((U8) ((*uc) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((U8 *) (uc )),(const U8 *) (U8 *) ((U8 *) loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); } case trie_utf8: uvc = Perl_utf8n_to_uvchr_msgs ((const U8*) uc, (U8 *) loceol - uc, &len, uniflags, 0, 0 ); break; case trie_plain: uvc = (UV)*uc; len = 1; } if (uvc < 256) { charid = trie->charmap[ uvc ]; } else { charid = 0 ; if (widecharmap) { SV** const svpp = ((SV**) Perl_hv_common_key_len ( (widecharmap),((char*)&uvc),(sizeof(UV)),(0) ? (0x20 | 0x10 ) : 0x20,((void*)0),0)); if (svpp) charid = (U16)((((*svpp)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(*svpp); ((PL_valid_types_IVX [((svtype)((_svivx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 6128, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6128, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags ( *svpp,2)); } } } while (0); | |||
| 6129 | charcount++; | |||
| 6130 | if (foldlen>0) | |||
| 6131 | ST.longfold = TRUE(1); | |||
| 6132 | if (charid && | |||
| 6133 | ( ((offset = | |||
| 6134 | base + charid - 1 - trie->uniquecharcount)) >= 0) | |||
| 6135 | ||||
| 6136 | && ((U32)offset < trie->lasttrans) | |||
| 6137 | && trie->trans[offset].check == state) | |||
| 6138 | { | |||
| 6139 | state = trie->trans[offset].next; | |||
| 6140 | } | |||
| 6141 | else { | |||
| 6142 | state = 0; | |||
| 6143 | } | |||
| 6144 | uc += len; | |||
| 6145 | ||||
| 6146 | } | |||
| 6147 | else { | |||
| 6148 | state = 0; | |||
| 6149 | } | |||
| 6150 | DEBUG_TRIE_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( "TRIE: Charid:%3x CP:%4" "lx" " After State: %4" "lx" "%s\n" , charid, uvc, (UV)state, PL_colors[5] );;} while (0) | |||
| 6151 | Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( "TRIE: Charid:%3x CP:%4" "lx" " After State: %4" "lx" "%s\n" , charid, uvc, (UV)state, PL_colors[5] );;} while (0) | |||
| 6152 | "TRIE: Charid:%3x CP:%4" UVxf " After State: %4" UVxf "%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( "TRIE: Charid:%3x CP:%4" "lx" " After State: %4" "lx" "%s\n" , charid, uvc, (UV)state, PL_colors[5] );;} while (0) | |||
| 6153 | charid, uvc, (UV)state, PL_colors[5] );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( "TRIE: Charid:%3x CP:%4" "lx" " After State: %4" "lx" "%s\n" , charid, uvc, (UV)state, PL_colors[5] );;} while (0) | |||
| 6154 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000400))) Perl_re_printf ( "TRIE: Charid:%3x CP:%4" "lx" " After State: %4" "lx" "%s\n" , charid, uvc, (UV)state, PL_colors[5] );;} while (0); | |||
| 6155 | } | |||
| 6156 | if (!accepted) | |||
| 6157 | sayNOgoto no; | |||
| 6158 | ||||
| 6159 | /* calculate total number of accept states */ | |||
| 6160 | { | |||
| 6161 | U16 w = ST.topword; | |||
| 6162 | accepted = 0; | |||
| 6163 | while (w) { | |||
| 6164 | w = trie->wordinfo[w].prev; | |||
| 6165 | accepted++; | |||
| 6166 | } | |||
| 6167 | ST.accepted = accepted; | |||
| 6168 | } | |||
| 6169 | ||||
| 6170 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: got %" "ld" " possible matches%s\n", depth, PL_colors [4], (IV)ST.accepted, PL_colors[5] );;} while (0) | |||
| 6171 | Perl_re_exec_indentf( aTHX_ "%sTRIE: got %" IVdf " possible matches%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: got %" "ld" " possible matches%s\n", depth, PL_colors [4], (IV)ST.accepted, PL_colors[5] );;} while (0) | |||
| 6172 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: got %" "ld" " possible matches%s\n", depth, PL_colors [4], (IV)ST.accepted, PL_colors[5] );;} while (0) | |||
| 6173 | PL_colors[4], (IV)ST.accepted, PL_colors[5] );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: got %" "ld" " possible matches%s\n", depth, PL_colors [4], (IV)ST.accepted, PL_colors[5] );;} while (0) | |||
| 6174 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sTRIE: got %" "ld" " possible matches%s\n", depth, PL_colors [4], (IV)ST.accepted, PL_colors[5] );;} while (0); | |||
| 6175 | goto trie_first_try; /* jump into the fail handler */ | |||
| 6176 | }} | |||
| 6177 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 6177 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 6178 | ||||
| 6179 | case TRIE_next_fail(109 + 2): /* we failed - try next alternative */ | |||
| 6180 | { | |||
| 6181 | U8 *uc; | |||
| 6182 | if ( ST.jump ) { | |||
| 6183 | /* undo any captures done in the tail part of a branch, | |||
| 6184 | * e.g. | |||
| 6185 | * /(?:X(.)(.)|Y(.)).../ | |||
| 6186 | * where the trie just matches X then calls out to do the | |||
| 6187 | * rest of the branch */ | |||
| 6188 | REGCP_UNWIND(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.cp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.cp) Perl_leave_scope ( ST.cp); } while (0); | |||
| 6189 | UNWIND_PAREN(ST.lastparen, ST.lastcloseparen)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(ST.lastparen), (UV)(rex->lastparen ), (UV)(ST.lastcloseparen) );} while (0); for (n = rex->lastparen ; n > ST.lastparen; n--) rex->offs[n].end = -1; rex-> lastparen = n; rex->lastcloseparen = ST.lastcloseparen;; | |||
| 6190 | } | |||
| 6191 | if (!--ST.accepted) { | |||
| 6192 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE failed...%s\n", depth, PL_colors[4], PL_colors[5] ) ; };} while (0) | |||
| 6193 | Perl_re_exec_indentf( aTHX_ "%sTRIE failed...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE failed...%s\n", depth, PL_colors[4], PL_colors[5] ) ; };} while (0) | |||
| 6194 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE failed...%s\n", depth, PL_colors[4], PL_colors[5] ) ; };} while (0) | |||
| 6195 | PL_colors[4],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE failed...%s\n", depth, PL_colors[4], PL_colors[5] ) ; };} while (0) | |||
| 6196 | PL_colors[5] );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE failed...%s\n", depth, PL_colors[4], PL_colors[5] ) ; };} while (0) | |||
| 6197 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE failed...%s\n", depth, PL_colors[4], PL_colors[5] ) ; };} while (0); | |||
| 6198 | sayNO_SILENTgoto no_silent; | |||
| 6199 | } | |||
| 6200 | { | |||
| 6201 | /* Find next-highest word to process. Note that this code | |||
| 6202 | * is O(N^2) per trie run (O(N) per branch), so keep tight */ | |||
| 6203 | U16 min = 0; | |||
| 6204 | U16 word; | |||
| 6205 | U16 const nextword = ST.nextword; | |||
| 6206 | reg_trie_wordinfo * const wordinfo | |||
| 6207 | = ((reg_trie_data*)rexi->data->data[ARG(ST.me)((((struct regnode_1 *)ST.me)->arg1))])->wordinfo; | |||
| 6208 | for (word=ST.topword; word; word=wordinfo[word].prev) { | |||
| 6209 | if (word > nextword && (!min || word < min)) | |||
| 6210 | min = word; | |||
| 6211 | } | |||
| 6212 | ST.nextword = min; | |||
| 6213 | } | |||
| 6214 | ||||
| 6215 | trie_first_try: | |||
| 6216 | if (do_cutgroup) { | |||
| 6217 | do_cutgroup = 0; | |||
| 6218 | no_final = 0; | |||
| 6219 | } | |||
| 6220 | ||||
| 6221 | if ( ST.jump ) { | |||
| 6222 | ST.lastparen = rex->lastparen; | |||
| 6223 | ST.lastcloseparen = rex->lastcloseparen; | |||
| 6224 | REGCP_SET(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.cp = PL_savestack_ix; | |||
| 6225 | } | |||
| 6226 | ||||
| 6227 | /* find start char of end of current word */ | |||
| 6228 | { | |||
| 6229 | U32 chars; /* how many chars to skip */ | |||
| 6230 | reg_trie_data * const trie | |||
| 6231 | = (reg_trie_data*)rexi->data->data[ARG(ST.me)((((struct regnode_1 *)ST.me)->arg1))]; | |||
| 6232 | ||||
| 6233 | assert((trie->wordinfo[ST.nextword].len - trie->prefixlen)(((trie->wordinfo[ST.nextword].len - trie->prefixlen) >= ST.firstchars) ? (void)0 : __assert2("re_exec.c", 6234, __func__ , "(trie->wordinfo[ST.nextword].len - trie->prefixlen) >= ST.firstchars" )) | |||
| 6234 | >= ST.firstchars)(((trie->wordinfo[ST.nextword].len - trie->prefixlen) >= ST.firstchars) ? (void)0 : __assert2("re_exec.c", 6234, __func__ , "(trie->wordinfo[ST.nextword].len - trie->prefixlen) >= ST.firstchars" )); | |||
| 6235 | chars = (trie->wordinfo[ST.nextword].len - trie->prefixlen) | |||
| 6236 | - ST.firstchars; | |||
| 6237 | uc = ST.firstpos; | |||
| 6238 | ||||
| 6239 | if (ST.longfold) { | |||
| 6240 | /* the hard option - fold each char in turn and find | |||
| 6241 | * its folded length (which may be different */ | |||
| 6242 | U8 foldbuf[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]; | |||
| 6243 | STRLEN foldlen; | |||
| 6244 | STRLEN len; | |||
| 6245 | UV uvc; | |||
| 6246 | U8 *uscan; | |||
| 6247 | ||||
| 6248 | while (chars) { | |||
| 6249 | if (utf8_target) { | |||
| 6250 | /* XXX This assumes the length is well-formed, as | |||
| 6251 | * does the UTF8SKIP below */ | |||
| 6252 | uvc = utf8n_to_uvchr((U8*)uc, UTF8_MAXLEN, &len,Perl_utf8n_to_uvchr_msgs((U8*)uc, 13, &len, uniflags, 0, 0 ) | |||
| 6253 | uniflags)Perl_utf8n_to_uvchr_msgs((U8*)uc, 13, &len, uniflags, 0, 0 ); | |||
| 6254 | uc += len; | |||
| 6255 | } | |||
| 6256 | else { | |||
| 6257 | uvc = *uc; | |||
| 6258 | uc++; | |||
| 6259 | } | |||
| 6260 | uvc = to_uni_fold(uvc, foldbuf, &foldlen)Perl__to_uni_fold_flags( uvc,foldbuf,&foldlen,0x2); | |||
| 6261 | uscan = foldbuf; | |||
| 6262 | while (foldlen) { | |||
| 6263 | if (!--chars) | |||
| 6264 | break; | |||
| 6265 | uvc = utf8n_to_uvchr(uscan, foldlen, &len,Perl_utf8n_to_uvchr_msgs(uscan, foldlen, &len, uniflags, 0 , 0) | |||
| 6266 | uniflags)Perl_utf8n_to_uvchr_msgs(uscan, foldlen, &len, uniflags, 0 , 0); | |||
| 6267 | uscan += len; | |||
| 6268 | foldlen -= len; | |||
| 6269 | } | |||
| 6270 | } | |||
| 6271 | } | |||
| 6272 | else { | |||
| 6273 | if (utf8_target) | |||
| 6274 | while (chars--) | |||
| 6275 | uc += UTF8SKIP(uc)PL_utf8skip[*(const U8*)(uc)]; | |||
| 6276 | else | |||
| 6277 | uc += chars; | |||
| 6278 | } | |||
| 6279 | } | |||
| 6280 | ||||
| 6281 | scan = ST.me + ((ST.jump && ST.jump[ST.nextword]) | |||
| 6282 | ? ST.jump[ST.nextword] | |||
| 6283 | : NEXT_OFF(ST.me)((ST.me)->next_off)); | |||
| 6284 | ||||
| 6285 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0) | |||
| 6286 | Perl_re_exec_indentf( aTHX_ "%sTRIE matched word #%d, continuing%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0) | |||
| 6287 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0) | |||
| 6288 | PL_colors[4],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0) | |||
| 6289 | ST.nextword,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0) | |||
| 6290 | PL_colors[5]do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0) | |||
| 6291 | );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0) | |||
| 6292 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sTRIE matched word #%d, continuing%s\n", depth, PL_colors [4], ST.nextword, PL_colors[5] ); };} while (0); | |||
| 6293 | ||||
| 6294 | if ( ST.accepted > 1 || has_cutgroup || ST.jump ) { | |||
| 6295 | PUSH_STATE_GOTO(TRIE_next, scan, (char*)uc, loceol,pushinput = (char*)uc; pusheol = loceol; pushsr0 = script_run_begin ; scan = scan; st->resume_state = (109 + 1); goto push_state ; | |||
| 6296 | script_run_begin)pushinput = (char*)uc; pusheol = loceol; pushsr0 = script_run_begin ; scan = scan; st->resume_state = (109 + 1); goto push_state ;; | |||
| 6297 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 6297 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 6298 | } | |||
| 6299 | /* only one choice left - just continue */ | |||
| 6300 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6301 | AV *const trie_wordsdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6302 | = MUTABLE_AV(rexi->data->data[ARG(ST.me)+TRIE_WORDS_OFFSET]);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6303 | SV ** const tmp = trie_wordsdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6304 | ? av_fetch(trie_words, ST.nextword - 1, 0) : NULL;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6305 | SV *sv= tmp ? sv_newmortal() : NULL;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6306 | ||||
| 6307 | Perl_re_exec_indentf( aTHX_ "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6308 | depth, PL_colors[4],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6309 | ST.nextword,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6310 | tmp ? pv_pretty(sv, SvPV_nolen_const(*tmp), SvCUR(*tmp), 0,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6311 | PL_colors[0], PL_colors[1],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6312 | (SvUTF8(*tmp) ? PERL_PV_ESCAPE_UNI : 0)|PERL_PV_ESCAPE_NONASCIIdo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6313 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6314 | : "not compiled under -Dr",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6315 | PL_colors[5] );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0) | |||
| 6316 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { AV *const trie_words = ((AV *)({ void *_p = (rexi->data-> data[((((struct regnode_1 *)ST.me)->arg1))+2]); _p; })); SV ** const tmp = trie_words ? Perl_av_fetch( trie_words,ST.nextword - 1,0) : ((void*)0); SV *sv= tmp ? Perl_sv_newmortal() : ((void *)0); Perl_re_exec_indentf( "%sTRIE: only one match left, short-circuiting: #%d <%s>%s\n" , depth, PL_colors[4], ST.nextword, tmp ? Perl_pv_pretty( sv, ((((*tmp)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((const char*)(0 + (*tmp)->sv_u.svu_pv)) : Perl_sv_2pv_flags ( *tmp,0,2|32)),(*({ const SV *const _svcur = (const SV *)(*tmp ); ((PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 6310, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 6310, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 6310, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })),0,PL_colors[0],PL_colors[1],(((*tmp)-> sv_flags & 0x20000000) ? 0x000100 : 0)|0x000400) : "not compiled under -Dr" , PL_colors[5] ); };} while (0); | |||
| 6317 | ||||
| 6318 | locinput = (char*)uc; | |||
| 6319 | continue; /* execute rest of RE */ | |||
| 6320 | /* NOTREACHED */ | |||
| 6321 | } | |||
| 6322 | #undef ST | |||
| 6323 | ||||
| 6324 | case LEXACT_REQ851: | |||
| 6325 | if (! utf8_target) { | |||
| 6326 | sayNOgoto no; | |||
| 6327 | } | |||
| 6328 | /* FALLTHROUGH */ | |||
| 6329 | ||||
| 6330 | case LEXACT41: | |||
| 6331 | { | |||
| 6332 | char *s; | |||
| 6333 | ||||
| 6334 | s = STRINGl(scan)(((((scan)->type) == 41 || ((scan)->type) == 51) ? (void )0 : __assert2("re_exec.c", 6334, __func__, "((scan)->type) == 41 || ((scan)->type) == 51" )), (((struct regnode_lstring *)scan)->string)); | |||
| 6335 | ln = STR_LENl(scan)(((((scan)->type) == 41 || ((scan)->type) == 51) ? (void )0 : __assert2("re_exec.c", 6335, __func__, "((scan)->type) == 41 || ((scan)->type) == 51" )), (((struct regnode_lstring *)scan)->str_len)); | |||
| 6336 | goto join_short_long_exact; | |||
| 6337 | ||||
| 6338 | case EXACTL42: /* /abc/l */ | |||
| 6339 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 6340 | ||||
| 6341 | /* Complete checking would involve going through every character | |||
| 6342 | * matched by the string to see if any is above latin1. But the | |||
| 6343 | * comparision otherwise might very well be a fast assembly | |||
| 6344 | * language routine, and I (khw) don't think slowing things down | |||
| 6345 | * just to check for this warning is worth it. So this just checks | |||
| 6346 | * the first character */ | |||
| 6347 | if (utf8_target && UTF8_IS_ABOVE_LATIN1(*locinput)(((( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6347, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((((( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6347, __func__ , "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))) >= ((0x100 >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { | |||
| 6348 | _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput, reginfo->strend)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (locinput)),(const U8 *) (U8 *) (reginfo->strend),(( void*)0)); Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s" , (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type])); } } while (0); | |||
| 6349 | } | |||
| 6350 | goto do_exact; | |||
| 6351 | case EXACT_REQ850: | |||
| 6352 | if (! utf8_target) { | |||
| 6353 | sayNOgoto no; | |||
| 6354 | } | |||
| 6355 | /* FALLTHROUGH */ | |||
| 6356 | ||||
| 6357 | case EXACT40: /* /abc/ */ | |||
| 6358 | do_exact: | |||
| 6359 | s = STRINGs(scan)(((((scan)->type) != 41 && ((scan)->type) != 51 ) ? (void)0 : __assert2("re_exec.c", 6359, __func__, "((scan)->type) != 41 && ((scan)->type) != 51" )), ((struct regnode_string *)scan)->string); | |||
| 6360 | ln = STR_LENs(scan)(((((scan)->type) != 41 && ((scan)->type) != 51 ) ? (void)0 : __assert2("re_exec.c", 6360, __func__, "((scan)->type) != 41 && ((scan)->type) != 51" )), ((struct regnode_string *)scan)->str_len); | |||
| 6361 | ||||
| 6362 | join_short_long_exact: | |||
| 6363 | if (utf8_target != is_utf8_pat) { | |||
| 6364 | /* The target and the pattern have differing utf8ness. */ | |||
| 6365 | char *l = locinput; | |||
| 6366 | const char * const e = s + ln; | |||
| 6367 | ||||
| 6368 | if (utf8_target) { | |||
| 6369 | /* The target is utf8, the pattern is not utf8. | |||
| 6370 | * Above-Latin1 code points can't match the pattern; | |||
| 6371 | * invariants match exactly, and the other Latin1 ones need | |||
| 6372 | * to be downgraded to a single byte in order to do the | |||
| 6373 | * comparison. (If we could be confident that the target | |||
| 6374 | * is not malformed, this could be refactored to have fewer | |||
| 6375 | * tests by just assuming that if the first bytes match, it | |||
| 6376 | * is an invariant, but there are tests in the test suite | |||
| 6377 | * dealing with (??{...}) which violate this) */ | |||
| 6378 | while (s < e) { | |||
| 6379 | if ( l >= loceol | |||
| 6380 | || UTF8_IS_ABOVE_LATIN1(* (U8*) l)(((( (sizeof(* (U8*) l) == 1) || !(((U64)((* (U8*) l) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6380, __func__, "( (sizeof(* (U8*) l) == 1) || !(((U64)((* (U8*) l) | 0)) & ~0xFF))" )), ((((( (sizeof(* (U8*) l) == 1) || !(((U64)((* (U8*) l) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6380, __func__ , "( (sizeof(* (U8*) l) == 1) || !(((U64)((* (U8*) l) | 0)) & ~0xFF))" )), ((U8) ((* (U8*) l) | 0))) >= ((0x100 >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | |||
| 6381 | { | |||
| 6382 | sayNOgoto no; | |||
| 6383 | } | |||
| 6384 | if (UTF8_IS_INVARIANT(*(U8*)l)((((U64)(((UV) (((*(U8*)l) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) { | |||
| 6385 | if (*l != *s) { | |||
| 6386 | sayNOgoto no; | |||
| 6387 | } | |||
| 6388 | l++; | |||
| 6389 | } | |||
| 6390 | else { | |||
| 6391 | if (EIGHT_BIT_UTF8_TO_NATIVE(*l, *(l+1))( (((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6391 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 6391, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6391, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391 , __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 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((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 6391, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6391, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*l) == 1) || !(((U64)((*l ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391 , __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 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((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__ , "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))") ), ((U8) ((*l) | 0)))) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 6391, __func__, "sizeof((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6391, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6391, __func__, "(NV) (((((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) ((((( (sizeof(*l) == 1) || !(((U64)((*l ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391 , __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 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)) )))))))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "(((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 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((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 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((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"sizeof((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6391, __func__, \\\"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\\\")), ((U8) ((*l) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"(NV) (((((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) ((((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 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(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))" )), ((U8) ((*(l+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6391, __func__, "(((( (sizeof(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*(l+1)) == 1) || !(((U64)((*(l+1)) | 0)) & ~0xFF))\")), ((U8) ((*(l+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(l+1))) == 1) || !(((U64)(((* (l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6391, __func__, "( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(l+1))) == 1) || ! (((U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6391, __func__, "( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))" )), ((U8) (((*(l+1))) | 0)))) & ((U8) ((1U << 6) - 1 ))))) == 1) || !(((U64)(((((( (sizeof((*(l+1))) == 1) || !((( U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6391, __func__, "( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(l+1))) == 1) || ! (((U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6391, __func__, "( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))" )), ((U8) (((*(l+1))) | 0)))) & ((U8) ((1U << 6) - 1 ))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof((((( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))\")), ((U8) (((*(l+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))\")), ((U8) ((*l) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6391, __func__, \"( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))\")), ((U8) (((*(l+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1) )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6391 , __func__, "( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6391, __func__, "( (sizeof(*l) == 1) || !(((U64)((*l) | 0)) & ~0xFF))" )), ((U8) ((*l) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(l+1))) == 1) || ! (((U64)(((*(l+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6391, __func__, "( (sizeof((*(l+1))) == 1) || !(((U64)(((*(l+1))) | 0)) & ~0xFF))" )), ((U8) (((*(l+1))) | 0)))) & ((U8) ((1U << 6) - 1 ))))) | 0)))) != * (U8*) s) | |||
| 6392 | { | |||
| 6393 | sayNOgoto no; | |||
| 6394 | } | |||
| 6395 | l += 2; | |||
| 6396 | } | |||
| 6397 | s++; | |||
| 6398 | } | |||
| 6399 | } | |||
| 6400 | else { | |||
| 6401 | /* The target is not utf8, the pattern is utf8. */ | |||
| 6402 | while (s < e) { | |||
| 6403 | if ( l >= loceol | |||
| 6404 | || UTF8_IS_ABOVE_LATIN1(* (U8*) s)(((( (sizeof(* (U8*) s) == 1) || !(((U64)((* (U8*) s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6404, __func__, "( (sizeof(* (U8*) s) == 1) || !(((U64)((* (U8*) s) | 0)) & ~0xFF))" )), ((((( (sizeof(* (U8*) s) == 1) || !(((U64)((* (U8*) s) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6404, __func__ , "( (sizeof(* (U8*) s) == 1) || !(((U64)((* (U8*) s) | 0)) & ~0xFF))" )), ((U8) ((* (U8*) s) | 0))) >= ((0x100 >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) | |||
| 6405 | { | |||
| 6406 | sayNOgoto no; | |||
| 6407 | } | |||
| 6408 | if (UTF8_IS_INVARIANT(*(U8*)s)((((U64)(((UV) (((*(U8*)s) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) { | |||
| 6409 | if (*s != *l) { | |||
| 6410 | sayNOgoto no; | |||
| 6411 | } | |||
| 6412 | s++; | |||
| 6413 | } | |||
| 6414 | else { | |||
| 6415 | if (EIGHT_BIT_UTF8_TO_NATIVE(*s, *(s+1))( (((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6415 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 6415, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6415, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 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((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 6415, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6415, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 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((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__ , "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))") ), ((U8) ((*s) | 0)))) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 6415, __func__, "sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6415, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6415, __func__, "(NV) (((((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) ((((( (sizeof(*s) == 1) || !(((U64)((*s ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415 , __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 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)) )))))))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 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((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 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((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"sizeof((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6415, __func__, \\\"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\\\")), ((U8) ((*s) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"(NV) (((((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) ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 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(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))" )), ((U8) ((*(s+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6415, __func__, "(((( (sizeof(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*(s+1)) == 1) || !(((U64)((*(s+1)) | 0)) & ~0xFF))\")), ((U8) ((*(s+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(s+1))) == 1) || !(((U64)(((* (s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6415, __func__, "( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(s+1))) == 1) || ! (((U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6415, __func__, "( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))" )), ((U8) (((*(s+1))) | 0)))) & ((U8) ((1U << 6) - 1 ))))) == 1) || !(((U64)(((((( (sizeof((*(s+1))) == 1) || !((( U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6415, __func__, "( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(s+1))) == 1) || ! (((U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6415, __func__, "( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))" )), ((U8) (((*(s+1))) | 0)))) & ((U8) ((1U << 6) - 1 ))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof((((( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))\")), ((U8) (((*(s+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))\")), ((U8) ((*s) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6415, __func__, \"( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))\")), ((U8) (((*(s+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1) )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6415 , __func__, "( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6415, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(s+1))) == 1) || ! (((U64)(((*(s+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6415, __func__, "( (sizeof((*(s+1))) == 1) || !(((U64)(((*(s+1))) | 0)) & ~0xFF))" )), ((U8) (((*(s+1))) | 0)))) & ((U8) ((1U << 6) - 1 ))))) | 0)))) != * (U8*) l) | |||
| 6416 | { | |||
| 6417 | sayNOgoto no; | |||
| 6418 | } | |||
| 6419 | s += 2; | |||
| 6420 | } | |||
| 6421 | l++; | |||
| 6422 | } | |||
| 6423 | } | |||
| 6424 | locinput = l; | |||
| 6425 | } | |||
| 6426 | else { | |||
| 6427 | /* The target and the pattern have the same utf8ness. */ | |||
| 6428 | /* Inline the first character, for speed. */ | |||
| 6429 | if ( loceol - locinput < ln | |||
| 6430 | || UCHARAT(s)((int)*(const U8*)(s)) != nextchr | |||
| 6431 | || (ln > 1 && memNE(s, locinput, ln)(! (memcmp(((const void *) (s)), ((const void *) (locinput)), ln) == 0)))) | |||
| 6432 | { | |||
| 6433 | sayNOgoto no; | |||
| 6434 | } | |||
| 6435 | locinput += ln; | |||
| 6436 | } | |||
| 6437 | break; | |||
| 6438 | } | |||
| 6439 | ||||
| 6440 | case EXACTFL44: /* /abc/il */ | |||
| 6441 | { | |||
| 6442 | re_fold_t folder; | |||
| 6443 | const U8 * fold_array; | |||
| 6444 | const char * s; | |||
| 6445 | U32 fold_utf8_flags; | |||
| 6446 | ||||
| 6447 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 6448 | folder = foldEQ_localePerl_foldEQ_locale; | |||
| 6449 | fold_array = PL_fold_locale; | |||
| 6450 | fold_utf8_flags = FOLDEQ_LOCALE(1 << 1); | |||
| 6451 | goto do_exactf; | |||
| 6452 | ||||
| 6453 | case EXACTFLU848: /* /abc/il; but all 'abc' are above 255, so | |||
| 6454 | is effectively /u; hence to match, target | |||
| 6455 | must be UTF-8. */ | |||
| 6456 | if (! utf8_target) { | |||
| 6457 | sayNOgoto no; | |||
| 6458 | } | |||
| 6459 | fold_utf8_flags = FOLDEQ_LOCALE(1 << 1) | FOLDEQ_S2_ALREADY_FOLDED(1 << 3) | |||
| 6460 | | FOLDEQ_S2_FOLDS_SANE(1 << 5); | |||
| 6461 | folder = foldEQ_latin1_s2_foldedS_foldEQ_latin1_s2_folded; | |||
| 6462 | fold_array = PL_fold_latin1; | |||
| 6463 | goto do_exactf; | |||
| 6464 | ||||
| 6465 | case EXACTFU_REQ852: /* /abc/iu with something in /abc/ > 255 */ | |||
| 6466 | if (! utf8_target) { | |||
| 6467 | sayNOgoto no; | |||
| 6468 | } | |||
| 6469 | assert(is_utf8_pat)((is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 6469, __func__ , "is_utf8_pat")); | |||
| 6470 | fold_utf8_flags = FOLDEQ_S2_ALREADY_FOLDED(1 << 3); | |||
| 6471 | goto do_exactf; | |||
| 6472 | ||||
| 6473 | case EXACTFUP47: /* /foo/iu, and something is problematic in | |||
| 6474 | 'foo' so can't take shortcuts. */ | |||
| 6475 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 6475, __func__ , "! is_utf8_pat")); | |||
| 6476 | folder = foldEQ_latin1Perl_foldEQ_latin1; | |||
| 6477 | fold_array = PL_fold_latin1; | |||
| 6478 | fold_utf8_flags = 0; | |||
| 6479 | goto do_exactf; | |||
| 6480 | ||||
| 6481 | case EXACTFU45: /* /abc/iu */ | |||
| 6482 | folder = foldEQ_latin1_s2_foldedS_foldEQ_latin1_s2_folded; | |||
| 6483 | fold_array = PL_fold_latin1; | |||
| 6484 | fold_utf8_flags = FOLDEQ_S2_ALREADY_FOLDED(1 << 3); | |||
| 6485 | goto do_exactf; | |||
| 6486 | ||||
| 6487 | case EXACTFAA_NO_TRIE49: /* This node only generated for non-utf8 | |||
| 6488 | patterns */ | |||
| 6489 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 6489, __func__ , "! is_utf8_pat")); | |||
| 6490 | /* FALLTHROUGH */ | |||
| 6491 | case EXACTFAA46: /* /abc/iaa */ | |||
| 6492 | folder = foldEQ_latin1_s2_foldedS_foldEQ_latin1_s2_folded; | |||
| 6493 | fold_array = PL_fold_latin1; | |||
| 6494 | fold_utf8_flags = FOLDEQ_UTF8_NOMIX_ASCII(1 << 0); | |||
| 6495 | if (is_utf8_pat || ! utf8_target) { | |||
| 6496 | ||||
| 6497 | /* The possible presence of a MICRO SIGN in the pattern forbids | |||
| 6498 | * us to view a non-UTF-8 pattern as folded when there is a | |||
| 6499 | * UTF-8 target */ | |||
| 6500 | fold_utf8_flags |= FOLDEQ_S2_ALREADY_FOLDED(1 << 3) | |||
| 6501 | |FOLDEQ_S2_FOLDS_SANE(1 << 5); | |||
| 6502 | } | |||
| 6503 | goto do_exactf; | |||
| 6504 | ||||
| 6505 | ||||
| 6506 | case EXACTF43: /* /abc/i This node only generated for | |||
| 6507 | non-utf8 patterns */ | |||
| 6508 | assert(! is_utf8_pat)((! is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 6508, __func__ , "! is_utf8_pat")); | |||
| 6509 | folder = foldEQPerl_foldEQ; | |||
| 6510 | fold_array = PL_fold; | |||
| 6511 | fold_utf8_flags = 0; | |||
| 6512 | ||||
| 6513 | do_exactf: | |||
| 6514 | s = STRINGs(scan)(((((scan)->type) != 41 && ((scan)->type) != 51 ) ? (void)0 : __assert2("re_exec.c", 6514, __func__, "((scan)->type) != 41 && ((scan)->type) != 51" )), ((struct regnode_string *)scan)->string); | |||
| 6515 | ln = STR_LENs(scan)(((((scan)->type) != 41 && ((scan)->type) != 51 ) ? (void)0 : __assert2("re_exec.c", 6515, __func__, "((scan)->type) != 41 && ((scan)->type) != 51" )), ((struct regnode_string *)scan)->str_len); | |||
| 6516 | ||||
| 6517 | if ( utf8_target | |||
| 6518 | || is_utf8_pat | |||
| 6519 | || state_num == EXACTFUP47 | |||
| 6520 | || (state_num == EXACTFL44 && IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale)) | |||
| 6521 | { | |||
| 6522 | /* Either target or the pattern are utf8, or has the issue where | |||
| 6523 | * the fold lengths may differ. */ | |||
| 6524 | const char * const l = locinput; | |||
| 6525 | char *e = loceol; | |||
| 6526 | ||||
| 6527 | if (! foldEQ_utf8_flags(l, &e, 0, utf8_target,Perl_foldEQ_utf8_flags( l,&e,0,utf8_target,s,0,ln,is_utf8_pat ,fold_utf8_flags) | |||
| 6528 | s, 0, ln, is_utf8_pat,fold_utf8_flags)Perl_foldEQ_utf8_flags( l,&e,0,utf8_target,s,0,ln,is_utf8_pat ,fold_utf8_flags)) | |||
| 6529 | { | |||
| 6530 | sayNOgoto no; | |||
| 6531 | } | |||
| 6532 | locinput = e; | |||
| 6533 | break; | |||
| 6534 | } | |||
| 6535 | ||||
| 6536 | /* Neither the target nor the pattern are utf8 */ | |||
| 6537 | if (UCHARAT(s)((int)*(const U8*)(s)) != nextchr | |||
| 6538 | && !NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6539 | && UCHARAT(s)((int)*(const U8*)(s)) != fold_array[nextchr]) | |||
| 6540 | { | |||
| 6541 | sayNOgoto no; | |||
| 6542 | } | |||
| 6543 | if (loceol - locinput < ln) | |||
| 6544 | sayNOgoto no; | |||
| 6545 | if (ln > 1 && ! folder(locinput, s, ln)) | |||
| 6546 | sayNOgoto no; | |||
| 6547 | locinput += ln; | |||
| 6548 | break; | |||
| 6549 | } | |||
| 6550 | ||||
| 6551 | case NBOUNDL13: /* /\B/l */ | |||
| 6552 | to_complement = 1; | |||
| 6553 | /* FALLTHROUGH */ | |||
| 6554 | ||||
| 6555 | case BOUNDL9: /* /\b/l */ | |||
| 6556 | { | |||
| 6557 | bool_Bool b1, b2; | |||
| 6558 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 6559 | ||||
| 6560 | if (FLAGS(scan)((scan)->flags) != TRADITIONAL_BOUND) { | |||
| 6561 | if (! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) { | |||
| 6562 | Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE)(63 ), | |||
| 6563 | B_ON_NON_UTF8_LOCALE_IS_WRONG"Use of \\b{} or \\B{} for non-UTF-8 locale is wrong. Assuming a UTF-8 locale"); | |||
| 6564 | } | |||
| 6565 | goto boundu; | |||
| 6566 | } | |||
| 6567 | ||||
| 6568 | if (utf8_target) { | |||
| 6569 | if (locinput == reginfo->strbeg) | |||
| 6570 | b1 = isWORDCHAR_LC('\n')(! ( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF )) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ('\n') ] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum ( (U8) ('\n')) || (char)('\n') == '_')) ? (_Bool)1 : (_Bool)0 )); | |||
| 6571 | else { | |||
| 6572 | U8 *p = reghop3S_reghop3((U8*)locinput, -1, | |||
| 6573 | (U8*)(reginfo->strbeg)); | |||
| 6574 | b1 = isWORDCHAR_LC_utf8_safe(p, (U8*)(reginfo->strend))((((((U8*)(reginfo->strend)) > (p))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "(((U8*)(reginfo->strend)) > (p))" )), (((((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(*(p)) == 1) || !(((U64)((*(p) ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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*)(reginfo->strend) ) - (p) > 1 && (((( (sizeof(*((p)+1)) == 1) || !(( (U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? (! ( (sizeof(( (((((( (sizeof(*(p)) == 1) || !((( U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6574, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "(((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(( (*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || ! (((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p )+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6574, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "(((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(( (*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || ! (((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p )+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( (((((( (sizeof(*(p)) == 1) || !(((U64 )((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6574, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "(((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(( (*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || ! (((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p )+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool)1 : (_Bool )0) : (((isalnum( (U8) (( (((((( (sizeof(*(p)) == 1) || !(((U64 )((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6574, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "(((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(( (*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || ! (((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p )+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( (((((( (sizeof(*(p)) == 1) || ! (((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6574, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "(((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(( (*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || ! (((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6574, __func__, \"( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p )+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6574, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6574, __func__, "( (sizeof((*((p)+1))) == 1) || !(((U64)(((*((p)+1))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0)) : (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) ((U8*)(reginfo->strend)),0,1), 0)) : Perl__is_utf8_FOO ( 0,p,(U8*)(reginfo->strend)))); | |||
| 6575 | } | |||
| 6576 | b2 = (NEXTCHR_IS_EOS(nextchr < 0)) | |||
| 6577 | ? isWORDCHAR_LC('\n')(! ( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF )) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ('\n') ] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum ( (U8) ('\n')) || (char)('\n') == '_')) ? (_Bool)1 : (_Bool)0 )) | |||
| 6578 | : isWORDCHAR_LC_utf8_safe((U8*) locinput,((((((U8*) reginfo->strend) > ((U8*) locinput))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "(((U8*) reginfo->strend) > ((U8*) locinput))" )), (((((U64)(((UV) (((*((U8*) locinput)) | 0) | 0)))) < ( ((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*((U8* ) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( *((U8*) locinput))] & (1U << (0))) ? (_Bool)1 : (_Bool )0) : (((isalnum( (U8) (*((U8*) locinput))) || (char)(*((U8*) locinput)) == '_')) ? (_Bool)1 : (_Bool)0)) : ((((( (sizeof( *((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0) ) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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*) reginfo->strend ) - ((U8*) locinput) > 1 && (((( (sizeof(*(((U8*) locinput )+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( (((((( (sizeof(*((U8*) locinput )) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof (*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( (((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool )1 : (_Bool)0) : (((isalnum( (U8) (( (((((( (sizeof(*((U8*) locinput )) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( (((((( (sizeof(*( (U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0 )) : (Perl__force_out_malformed_utf8_message( (U8 *) ((U8*) locinput ),(U8 *) ((U8*) reginfo->strend),0,1), 0)) : Perl__is_utf8_FOO ( 0,(U8*) locinput,(U8*) reginfo->strend))) | |||
| 6579 | (U8*) reginfo->strend)((((((U8*) reginfo->strend) > ((U8*) locinput))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "(((U8*) reginfo->strend) > ((U8*) locinput))" )), (((((U64)(((UV) (((*((U8*) locinput)) | 0) | 0)))) < ( ((U8) (0xFF << 6)) & 0xB0)))) ? (! ( (sizeof(*((U8* ) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( *((U8*) locinput))] & (1U << (0))) ? (_Bool)1 : (_Bool )0) : (((isalnum( (U8) (*((U8*) locinput))) || (char)(*((U8*) locinput)) == '_')) ? (_Bool)1 : (_Bool)0)) : ((((( (sizeof( *((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0) ) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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*) reginfo->strend ) - ((U8*) locinput) > 1 && (((( (sizeof(*(((U8*) locinput )+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~ 0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? (! ( (sizeof(( (((((( (sizeof(*((U8*) locinput )) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof (*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (( (((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0))) ? (_Bool )1 : (_Bool)0) : (((isalnum( (U8) (( (((((( (sizeof(*((U8*) locinput )) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) || (char)(( (((((( (sizeof(*( (U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64 )((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? (((( NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ( ((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1 ) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__ , "(((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"sizeof((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6579, __func__, \\\"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*) locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 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*) locinput)+1)) == 1) || !(((U64)(( *(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)( (*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "(((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*(((U8*) locinput)+1)) == 1) || !(((U64)((*(((U8*) locinput)+1)) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*) locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579 , __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6579, __func__, "( (sizeof((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6579, __func__, \"( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*) locinput)+1))) == 1) || !( ((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*( (U8*) locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6579, __func__, "( (sizeof(*((U8*) locinput)) == 1) || !(((U64)((*((U8*) locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*) locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput) +1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6579, __func__, "( (sizeof((*(((U8*) locinput)+1))) == 1) || !(((U64)(((*(((U8*) locinput)+1))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*) locinput)+1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == '_')) ? (_Bool)1 : (_Bool)0 )) : (Perl__force_out_malformed_utf8_message( (U8 *) ((U8*) locinput ),(U8 *) ((U8*) reginfo->strend),0,1), 0)) : Perl__is_utf8_FOO ( 0,(U8*) locinput,(U8*) reginfo->strend))); | |||
| 6580 | } | |||
| 6581 | else { /* Here the string isn't utf8 */ | |||
| 6582 | b1 = (locinput == reginfo->strbeg) | |||
| 6583 | ? isWORDCHAR_LC('\n')(! ( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF )) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ('\n') ] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum ( (U8) ('\n')) || (char)('\n') == '_')) ? (_Bool)1 : (_Bool)0 )) | |||
| 6584 | : isWORDCHAR_LC(UCHARAT(locinput - 1))(! ( (sizeof(((int)*(const U8*)(locinput - 1))) == 1) || !((( U64)((((int)*(const U8*)(locinput - 1))) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) (((int)*(const U8*)(locinput - 1)))] & (1U << (0))) ? (_Bool)1 : ( _Bool)0) : (((isalnum( (U8) (((int)*(const U8*)(locinput - 1) ))) || (char)(((int)*(const U8*)(locinput - 1))) == '_')) ? ( _Bool)1 : (_Bool)0)); | |||
| 6585 | b2 = (NEXTCHR_IS_EOS(nextchr < 0)) | |||
| 6586 | ? isWORDCHAR_LC('\n')(! ( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF )) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ('\n') ] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : (((isalnum ( (U8) ('\n')) || (char)('\n') == '_')) ? (_Bool)1 : (_Bool)0 )) | |||
| 6587 | : isWORDCHAR_LC(nextchr)(! ( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF)) ? 0 : PL_in_utf8_CTYPE_locale ? ((PL_charclass[(U8) ( nextchr)] & (1U << (0))) ? (_Bool)1 : (_Bool)0) : ( ((isalnum( (U8) (nextchr)) || (char)(nextchr) == '_')) ? (_Bool )1 : (_Bool)0)); | |||
| 6588 | } | |||
| 6589 | if (to_complement ^ (b1 == b2)) { | |||
| 6590 | sayNOgoto no; | |||
| 6591 | } | |||
| 6592 | break; | |||
| 6593 | } | |||
| 6594 | ||||
| 6595 | case NBOUND12: /* /\B/ */ | |||
| 6596 | to_complement = 1; | |||
| 6597 | /* FALLTHROUGH */ | |||
| 6598 | ||||
| 6599 | case BOUND8: /* /\b/ */ | |||
| 6600 | if (utf8_target) { | |||
| 6601 | goto bound_utf8; | |||
| 6602 | } | |||
| 6603 | goto bound_ascii_match_only; | |||
| 6604 | ||||
| 6605 | case NBOUNDA15: /* /\B/a */ | |||
| 6606 | to_complement = 1; | |||
| 6607 | /* FALLTHROUGH */ | |||
| 6608 | ||||
| 6609 | case BOUNDA11: /* /\b/a */ | |||
| 6610 | { | |||
| 6611 | bool_Bool b1, b2; | |||
| 6612 | ||||
| 6613 | bound_ascii_match_only: | |||
| 6614 | /* Here the string isn't utf8, or is utf8 and only ascii characters | |||
| 6615 | * are to match \w. In the latter case looking at the byte just | |||
| 6616 | * prior to the current one may be just the final byte of a | |||
| 6617 | * multi-byte character. This is ok. There are two cases: | |||
| 6618 | * 1) it is a single byte character, and then the test is doing | |||
| 6619 | * just what it's supposed to. | |||
| 6620 | * 2) it is a multi-byte character, in which case the final byte is | |||
| 6621 | * never mistakable for ASCII, and so the test will say it is | |||
| 6622 | * not a word character, which is the correct answer. */ | |||
| 6623 | b1 = (locinput == reginfo->strbeg) | |||
| 6624 | ? isWORDCHAR_A('\n')(( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF)) && ((PL_charclass[(U8) ('\n')] & ((1U << ( 0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))) | |||
| 6625 | : isWORDCHAR_A(UCHARAT(locinput - 1))(( (sizeof(((int)*(const U8*)(locinput - 1))) == 1) || !(((U64 )((((int)*(const U8*)(locinput - 1))) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (((int)*(const U8*)(locinput - 1)))] & ((1U << (0)) | (1U << (14)))) == ((1U << ( 0)) | (1U << (14))))); | |||
| 6626 | b2 = (NEXTCHR_IS_EOS(nextchr < 0)) | |||
| 6627 | ? isWORDCHAR_A('\n')(( (sizeof('\n') == 1) || !(((U64)(('\n') | 0)) & ~0xFF)) && ((PL_charclass[(U8) ('\n')] & ((1U << ( 0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))) | |||
| 6628 | : isWORDCHAR_A(nextchr)(( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~ 0xFF)) && ((PL_charclass[(U8) (nextchr)] & ((1U << (0)) | (1U << (14)))) == ((1U << (0)) | (1U << (14))))); | |||
| 6629 | if (to_complement ^ (b1 == b2)) { | |||
| 6630 | sayNOgoto no; | |||
| 6631 | } | |||
| 6632 | break; | |||
| 6633 | } | |||
| 6634 | ||||
| 6635 | case NBOUNDU14: /* /\B/u */ | |||
| 6636 | to_complement = 1; | |||
| 6637 | /* FALLTHROUGH */ | |||
| 6638 | ||||
| 6639 | case BOUNDU10: /* /\b/u */ | |||
| 6640 | ||||
| 6641 | boundu: | |||
| 6642 | if (UNLIKELY(reginfo->strbeg >= reginfo->strend)__builtin_expect(((reginfo->strbeg >= reginfo->strend ) ? (_Bool)1 : (_Bool)0),(0))) { | |||
| 6643 | match = FALSE(0); | |||
| 6644 | } | |||
| 6645 | else if (utf8_target) { | |||
| 6646 | bound_utf8: | |||
| 6647 | switch((bound_type) FLAGS(scan)((scan)->flags)) { | |||
| 6648 | case TRADITIONAL_BOUND: | |||
| 6649 | { | |||
| 6650 | bool_Bool b1, b2; | |||
| 6651 | if (locinput == reginfo->strbeg) { | |||
| 6652 | b1 = 0 /* isWORDCHAR_L1('\n') */; | |||
| 6653 | } | |||
| 6654 | else { | |||
| 6655 | U8 *p = reghop3S_reghop3((U8*)locinput, -1, | |||
| 6656 | (U8*)(reginfo->strbeg)); | |||
| 6657 | ||||
| 6658 | b1 = isWORDCHAR_utf8_safe(p, (U8*) reginfo->strend)((! (((U8*) reginfo->strend) > (p))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (p),(U8 *) ((U8*) reginfo->strend),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 (*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void) 0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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*) reginfo->strend) - (p) > 1 && (((( (sizeof(*((p)+1)) == 1) || !((( U64)((*((p)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*((p)+1)) == 1) || !(((U64)((*((p)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool )0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(p)) == 1) || !(((U64 )((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6658, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "(((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)( ((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*(( p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6658, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "(((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)( ((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*(( p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((* (p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8 ) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658 , __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)(( *(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((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)))))))))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "(((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"sizeof((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6658, __func__, \\\"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\\\")), ((U8) ((*(p)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"(NV) (((((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) ((((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((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(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__ , "( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((p)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "(((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*((p)+1 )) == 1) || !(((U64)((*((p)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((p)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)( ((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))\")), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6658, __func__, \"( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*(( p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6658, __func__, "( (sizeof(*(p)) == 1) || !(((U64)((*(p)) | 0)) & ~0xFF))" )), ((U8) ((*(p)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6658, __func__, "( (sizeof((*((p)+1 ))) == 1) || !(((U64)(((*((p)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((p)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0)))) ? (_Bool)1 : (_Bool )0) : (Perl__force_out_malformed_utf8_message( (U8 *) (p),(U8 *) ((U8*) reginfo->strend),0,1), 0)) : Perl__is_utf8_FOO( 0,p,(U8*) reginfo->strend))); | |||
| 6659 | } | |||
| 6660 | b2 = (NEXTCHR_IS_EOS(nextchr < 0)) | |||
| 6661 | ? 0 /* isWORDCHAR_L1('\n') */ | |||
| 6662 | : isWORDCHAR_utf8_safe((U8*)locinput,((! (((U8*) reginfo->strend) > ((U8*)locinput))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8*)locinput),(U8 *) ((U8*) reginfo->strend),0, 1), 0) : (((((U64)(((UV) (((*((U8*)locinput)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*((U8 *)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*((U8*)locinput))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : ((((( (sizeof(* ((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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*) reginfo->strend) - ((U8*)locinput) > 1 && (((( (sizeof(*(((U8*)locinput )+1)) == 1) || !(((U64)((*(((U8*)locinput)+1)) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1)) == 1) || !(((U64)((*(((U8*)locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1)) == 1) || !(((U64)(( *(((U8*)locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1)) == 1) || !(((U64)((*(((U8*)locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*((U8*)locinput )) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6663, __func__, \\\"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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*)locinput)+1 )) == 1) || !(((U64)(( *(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)( (*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !( ((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof (*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6663, __func__, \\\"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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*)locinput)+1 )) == 1) || !(((U64)(( *(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)( (*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !( ((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass[(U8) (( (((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void) 0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6663, __func__, \\\"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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*)locinput)+1 )) == 1) || !(((U64)(( *(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)( (*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !( ((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0)))) ? ( _Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8*)locinput),(U8 *) ((U8*) reginfo->strend),0, 1), 0)) : Perl__is_utf8_FOO( 0,(U8*)locinput,(U8*) reginfo-> strend))) | |||
| 6663 | (U8*) reginfo->strend)((! (((U8*) reginfo->strend) > ((U8*)locinput))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8*)locinput),(U8 *) ((U8*) reginfo->strend),0, 1), 0) : (((((U64)(((UV) (((*((U8*)locinput)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*((U8 *)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*((U8*)locinput))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0) : ((((( (sizeof(* ((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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*) reginfo->strend) - ((U8*)locinput) > 1 && (((( (sizeof(*(((U8*)locinput )+1)) == 1) || !(((U64)((*(((U8*)locinput)+1)) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1)) == 1) || !(((U64)((*(((U8*)locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1)) == 1) || !(((U64)(( *(((U8*)locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1)) == 1) || !(((U64)((*(((U8*)locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : (_Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*((U8*)locinput )) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6663, __func__, \\\"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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*)locinput)+1 )) == 1) || !(((U64)(( *(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)( (*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !( ((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof (*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6663, __func__, \\\"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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*)locinput)+1 )) == 1) || !(((U64)(( *(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)( (*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !( ((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass[(U8) (( (((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void) 0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64 )((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(( (U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV ) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | ((( 2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0 ) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || ! (((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__ , "(((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"sizeof((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 6663, __func__, \\\"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\\\")), ((U8) ((*((U8*)locinput)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"(NV) (((((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) ((((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 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*)locinput)+1 )) == 1) || !(((U64)(( *(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)( (*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "(((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*(((U8*)locinput)+1 )) == 1) || !(((U64)((*(((U8*)locinput)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*(((U8*)locinput)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8 *)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663 , __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6663, __func__, "( (sizeof((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))\")), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6663, __func__, \"( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !( ((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*(( U8*)locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6663, __func__, "( (sizeof(*((U8*)locinput)) == 1) || !(((U64)((*((U8*)locinput)) | 0)) & ~0xFF))" )), ((U8) ((*((U8*)locinput)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((* (((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+ 1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6663, __func__, "( (sizeof((*(((U8*)locinput)+1 ))) == 1) || !(((U64)(((*(((U8*)locinput)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*(((U8*)locinput)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (0)))) ? ( _Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message ( (U8 *) ((U8*)locinput),(U8 *) ((U8*) reginfo->strend),0, 1), 0)) : Perl__is_utf8_FOO( 0,(U8*)locinput,(U8*) reginfo-> strend))); | |||
| 6664 | match = cBOOL(b1 != b2)((b1 != b2) ? (_Bool)1 : (_Bool)0); | |||
| 6665 | break; | |||
| 6666 | } | |||
| 6667 | case GCB_BOUND: | |||
| 6668 | if (locinput == reginfo->strbeg || NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6669 | match = TRUE(1); /* GCB always matches at begin and | |||
| 6670 | end */ | |||
| 6671 | } | |||
| 6672 | else { | |||
| 6673 | /* Find the gcb values of previous and current | |||
| 6674 | * chars, then see if is a break point */ | |||
| 6675 | match = isGCB(getGCB_VAL_UTF8(S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6676 | reghop3((U8*)locinput,S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6677 | -1,S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6678 | (U8*)(reginfo->strbeg)),S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6679 | (U8*) reginfo->strend),S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6680 | getGCB_VAL_UTF8((U8*) locinput,S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6681 | (U8*) reginfo->strend),S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6682 | (U8*) reginfo->strbeg,S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6683 | (U8*) locinput,S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target) | |||
| 6684 | utf8_target)S_isGCB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6679, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6681, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,utf8_target); | |||
| 6685 | } | |||
| 6686 | break; | |||
| 6687 | ||||
| 6688 | case LB_BOUND: | |||
| 6689 | if (locinput == reginfo->strbeg) { | |||
| 6690 | match = FALSE(0); | |||
| 6691 | } | |||
| 6692 | else if (NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6693 | match = TRUE(1); | |||
| 6694 | } | |||
| 6695 | else { | |||
| 6696 | match = isLB(getLB_VAL_UTF8(S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6697 | reghop3((U8*)locinput,S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6698 | -1,S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6699 | (U8*)(reginfo->strbeg)),S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6700 | (U8*) reginfo->strend),S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6701 | getLB_VAL_UTF8((U8*) locinput,S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6702 | (U8*) reginfo->strend),S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6703 | (U8*) reginfo->strbeg,S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6704 | (U8*) locinput,S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6705 | (U8*) reginfo->strend,S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6706 | utf8_target)S_isLB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6700, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6702, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target); | |||
| 6707 | } | |||
| 6708 | break; | |||
| 6709 | ||||
| 6710 | case SB_BOUND: /* Always matches at begin and end */ | |||
| 6711 | if (locinput == reginfo->strbeg || NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6712 | match = TRUE(1); | |||
| 6713 | } | |||
| 6714 | else { | |||
| 6715 | match = isSB(getSB_VAL_UTF8(S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6716 | reghop3((U8*)locinput,S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6717 | -1,S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6718 | (U8*)(reginfo->strbeg)),S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6719 | (U8*) reginfo->strend),S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6720 | getSB_VAL_UTF8((U8*) locinput,S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6721 | (U8*) reginfo->strend),S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6722 | (U8*) reginfo->strbeg,S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6723 | (U8*) locinput,S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6724 | (U8*) reginfo->strend,S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6725 | utf8_target)S_isSB( (((S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg )) < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c" , 6719, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6721, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target); | |||
| 6726 | } | |||
| 6727 | break; | |||
| 6728 | ||||
| 6729 | case WB_BOUND: | |||
| 6730 | if (locinput == reginfo->strbeg || NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6731 | match = TRUE(1); | |||
| 6732 | } | |||
| 6733 | else { | |||
| 6734 | match = isWB(WB_UNKNOWN,S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6735 | getWB_VAL_UTF8(S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6736 | reghop3((U8*)locinput,S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6737 | -1,S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6738 | (U8*)(reginfo->strbeg)),S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6739 | (U8*) reginfo->strend),S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6740 | getWB_VAL_UTF8((U8*) locinput,S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6741 | (U8*) reginfo->strend),S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6742 | (U8*) reginfo->strbeg,S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6743 | (U8*) locinput,S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6744 | (U8*) reginfo->strend,S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target) | |||
| 6745 | utf8_target)S_isWB( WB_UNKNOWN,(((S_reghop3((U8*)locinput, -1, (U8*)(reginfo ->strbeg)) < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 6739, __func__, "S_reghop3((U8*)locinput, -1, (U8*)(reginfo->strbeg)) < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((S_reghop3((U8 *)locinput, -1, (U8*)(reginfo->strbeg)))),(const U8 *) ((U8 *) reginfo->strend),((void*)0))))])),((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2("re_exec.c", 6741, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_WB_invmap[S_get_break_val_cp_checked(PL_WB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])),( U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend ,utf8_target); | |||
| 6746 | } | |||
| 6747 | break; | |||
| 6748 | } | |||
| 6749 | } | |||
| 6750 | else { /* Not utf8 target */ | |||
| 6751 | switch((bound_type) FLAGS(scan)((scan)->flags)) { | |||
| 6752 | case TRADITIONAL_BOUND: | |||
| 6753 | { | |||
| 6754 | bool_Bool b1, b2; | |||
| 6755 | b1 = (locinput == reginfo->strbeg) | |||
| 6756 | ? 0 /* isWORDCHAR_L1('\n') */ | |||
| 6757 | : isWORDCHAR_L1(UCHARAT(locinput - 1))((( (sizeof(((int)*(const U8*)(locinput - 1))) == 1) || !(((U64 )((((int)*(const U8*)(locinput - 1))) | 0)) & ~0xFF)) && (PL_charclass[(U8) (((int)*(const U8*)(locinput - 1)))] & (1U << (0)))) ? (_Bool)1 : (_Bool)0); | |||
| 6758 | b2 = (NEXTCHR_IS_EOS(nextchr < 0)) | |||
| 6759 | ? 0 /* isWORDCHAR_L1('\n') */ | |||
| 6760 | : isWORDCHAR_L1(nextchr)((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~ 0xFF)) && (PL_charclass[(U8) (nextchr)] & (1U << (0)))) ? (_Bool)1 : (_Bool)0); | |||
| 6761 | match = cBOOL(b1 != b2)((b1 != b2) ? (_Bool)1 : (_Bool)0); | |||
| 6762 | break; | |||
| 6763 | } | |||
| 6764 | ||||
| 6765 | case GCB_BOUND: | |||
| 6766 | if (locinput == reginfo->strbeg || NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6767 | match = TRUE(1); /* GCB always matches at begin and | |||
| 6768 | end */ | |||
| 6769 | } | |||
| 6770 | else { /* Only CR-LF combo isn't a GCB in 0-255 | |||
| 6771 | range */ | |||
| 6772 | match = UCHARAT(locinput - 1)((int)*(const U8*)(locinput - 1)) != '\r' | |||
| 6773 | || UCHARAT(locinput)((int)*(const U8*)(locinput)) != '\n'; | |||
| 6774 | } | |||
| 6775 | break; | |||
| 6776 | ||||
| 6777 | case LB_BOUND: | |||
| 6778 | if (locinput == reginfo->strbeg) { | |||
| 6779 | match = FALSE(0); | |||
| 6780 | } | |||
| 6781 | else if (NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6782 | match = TRUE(1); | |||
| 6783 | } | |||
| 6784 | else { | |||
| 6785 | match = isLB(getLB_VAL_CP(UCHARAT(locinput -1)),S_isLB( _Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6786 | getLB_VAL_CP(UCHARAT(locinput)),S_isLB( _Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6787 | (U8*) reginfo->strbeg,S_isLB( _Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6788 | (U8*) locinput,S_isLB( _Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6789 | (U8*) reginfo->strend,S_isLB( _Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6790 | utf8_target)S_isLB( _Perl_LB_invmap[S_get_break_val_cp_checked(PL_LB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_LB_invmap[S_get_break_val_cp_checked (PL_LB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ); | |||
| 6791 | } | |||
| 6792 | break; | |||
| 6793 | ||||
| 6794 | case SB_BOUND: /* Always matches at begin and end */ | |||
| 6795 | if (locinput == reginfo->strbeg || NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6796 | match = TRUE(1); | |||
| 6797 | } | |||
| 6798 | else { | |||
| 6799 | match = isSB(getSB_VAL_CP(UCHARAT(locinput -1)),S_isSB( _Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6800 | getSB_VAL_CP(UCHARAT(locinput)),S_isSB( _Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6801 | (U8*) reginfo->strbeg,S_isSB( _Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6802 | (U8*) locinput,S_isSB( _Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6803 | (U8*) reginfo->strend,S_isSB( _Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ) | |||
| 6804 | utf8_target)S_isSB( _Perl_SB_invmap[S_get_break_val_cp_checked(PL_SB_invlist , (((int)*(const U8*)(locinput -1))))],_Perl_SB_invmap[S_get_break_val_cp_checked (PL_SB_invlist, (((int)*(const U8*)(locinput))))],(U8*) reginfo ->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target ); | |||
| 6805 | } | |||
| 6806 | break; | |||
| 6807 | ||||
| 6808 | case WB_BOUND: | |||
| 6809 | if (locinput == reginfo->strbeg || NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6810 | match = TRUE(1); | |||
| 6811 | } | |||
| 6812 | else { | |||
| 6813 | match = isWB(WB_UNKNOWN,S_isWB( WB_UNKNOWN,_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (((int)*(const U8*)(locinput -1))))],_Perl_WB_invmap [S_get_break_val_cp_checked(PL_WB_invlist, (((int)*(const U8* )(locinput))))],(U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target) | |||
| 6814 | getWB_VAL_CP(UCHARAT(locinput -1)),S_isWB( WB_UNKNOWN,_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (((int)*(const U8*)(locinput -1))))],_Perl_WB_invmap [S_get_break_val_cp_checked(PL_WB_invlist, (((int)*(const U8* )(locinput))))],(U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target) | |||
| 6815 | getWB_VAL_CP(UCHARAT(locinput)),S_isWB( WB_UNKNOWN,_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (((int)*(const U8*)(locinput -1))))],_Perl_WB_invmap [S_get_break_val_cp_checked(PL_WB_invlist, (((int)*(const U8* )(locinput))))],(U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target) | |||
| 6816 | (U8*) reginfo->strbeg,S_isWB( WB_UNKNOWN,_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (((int)*(const U8*)(locinput -1))))],_Perl_WB_invmap [S_get_break_val_cp_checked(PL_WB_invlist, (((int)*(const U8* )(locinput))))],(U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target) | |||
| 6817 | (U8*) locinput,S_isWB( WB_UNKNOWN,_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (((int)*(const U8*)(locinput -1))))],_Perl_WB_invmap [S_get_break_val_cp_checked(PL_WB_invlist, (((int)*(const U8* )(locinput))))],(U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target) | |||
| 6818 | (U8*) reginfo->strend,S_isWB( WB_UNKNOWN,_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (((int)*(const U8*)(locinput -1))))],_Perl_WB_invmap [S_get_break_val_cp_checked(PL_WB_invlist, (((int)*(const U8* )(locinput))))],(U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target) | |||
| 6819 | utf8_target)S_isWB( WB_UNKNOWN,_Perl_WB_invmap[S_get_break_val_cp_checked (PL_WB_invlist, (((int)*(const U8*)(locinput -1))))],_Perl_WB_invmap [S_get_break_val_cp_checked(PL_WB_invlist, (((int)*(const U8* )(locinput))))],(U8*) reginfo->strbeg,(U8*) locinput,(U8*) reginfo->strend,utf8_target); | |||
| 6820 | } | |||
| 6821 | break; | |||
| 6822 | } | |||
| 6823 | } | |||
| 6824 | ||||
| 6825 | if (to_complement ^ ! match) { | |||
| 6826 | sayNOgoto no; | |||
| 6827 | } | |||
| 6828 | break; | |||
| 6829 | ||||
| 6830 | case ANYOFPOSIXL21: | |||
| 6831 | case ANYOFL20: /* /[abc]/l */ | |||
| 6832 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 6833 | ||||
| 6834 | if (ANYOFL_UTF8_LOCALE_REQD(FLAGS(scan))((((scan)->flags) & ( 0x04 |0x08)) == 0x08) && ! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) | |||
| 6835 | { | |||
| 6836 | Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE)(63 ), utf8_locale_required); | |||
| 6837 | } | |||
| 6838 | /* FALLTHROUGH */ | |||
| 6839 | case ANYOFD19: /* /[abc]/d */ | |||
| 6840 | case ANYOF18: /* /[abc]/ */ | |||
| 6841 | if (NEXTCHR_IS_EOS(nextchr < 0) || locinput >= loceol) | |||
| 6842 | sayNOgoto no; | |||
| 6843 | if ( (! utf8_target || UTF8_IS_INVARIANT(*locinput)((((U64)(((UV) (((*locinput) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) | |||
| 6844 | && ! (ANYOF_FLAGS(scan)((scan)->flags) & ~ ANYOF_MATCHES_ALL_ABOVE_BITMAP0x20)) | |||
| 6845 | { | |||
| 6846 | if (! ANYOF_BITMAP_TEST(scan, * (U8 *) (locinput))(((( (U8*) ((regnode_charclass*)(scan))->bitmap) [ ( ( (UV ) (* (U8 *) (locinput))) >> 3) ] ) & (1U << ( (* (U8 *) (locinput)) & 7))) ? (_Bool)1 : (_Bool)0)) { | |||
| 6847 | sayNOgoto no; | |||
| 6848 | } | |||
| 6849 | locinput++; | |||
| 6850 | } | |||
| 6851 | else { | |||
| 6852 | if (!reginclass(rex, scan, (U8*)locinput, (U8*) loceol,S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target ) | |||
| 6853 | utf8_target)S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target )) | |||
| 6854 | { | |||
| 6855 | sayNOgoto no; | |||
| 6856 | } | |||
| 6857 | goto increment_locinput; | |||
| 6858 | } | |||
| 6859 | break; | |||
| 6860 | ||||
| 6861 | case ANYOFM28: | |||
| 6862 | if ( NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6863 | || (UCHARAT(locinput)((int)*(const U8*)(locinput)) & FLAGS(scan)((scan)->flags)) != ARG(scan)((((struct regnode_1 *)scan)->arg1)) | |||
| 6864 | || locinput >= loceol) | |||
| 6865 | { | |||
| 6866 | sayNOgoto no; | |||
| 6867 | } | |||
| 6868 | locinput++; /* ANYOFM is always single byte */ | |||
| 6869 | break; | |||
| 6870 | ||||
| 6871 | case NANYOFM29: | |||
| 6872 | if ( NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6873 | || (UCHARAT(locinput)((int)*(const U8*)(locinput)) & FLAGS(scan)((scan)->flags)) == ARG(scan)((((struct regnode_1 *)scan)->arg1)) | |||
| 6874 | || locinput >= loceol) | |||
| 6875 | { | |||
| 6876 | sayNOgoto no; | |||
| 6877 | } | |||
| 6878 | goto increment_locinput; | |||
| 6879 | break; | |||
| 6880 | ||||
| 6881 | case ANYOFH22: | |||
| 6882 | if ( ! utf8_target | |||
| 6883 | || NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6884 | || ANYOF_FLAGS(scan)((scan)->flags) > NATIVE_UTF8_TO_I8(*locinput)(((( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6884, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))) | |||
| 6885 | || ! reginclass(rex, scan, (U8*)locinput, (U8*) loceol,S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target ) | |||
| 6886 | utf8_target)S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target )) | |||
| 6887 | { | |||
| 6888 | sayNOgoto no; | |||
| 6889 | } | |||
| 6890 | goto increment_locinput; | |||
| 6891 | break; | |||
| 6892 | ||||
| 6893 | case ANYOFHb23: | |||
| 6894 | if ( ! utf8_target | |||
| 6895 | || NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6896 | || ANYOF_FLAGS(scan)((scan)->flags) != (U8) *locinput | |||
| 6897 | || ! reginclass(rex, scan, (U8*)locinput, (U8*) loceol,S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target ) | |||
| 6898 | utf8_target)S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target )) | |||
| 6899 | { | |||
| 6900 | sayNOgoto no; | |||
| 6901 | } | |||
| 6902 | goto increment_locinput; | |||
| 6903 | break; | |||
| 6904 | ||||
| 6905 | case ANYOFHr24: | |||
| 6906 | if ( ! utf8_target | |||
| 6907 | || NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6908 | || ! inRANGE((U8) NATIVE_UTF8_TO_I8(*locinput),((((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (( (((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)-> flags)) & 3)))) >= ((((((scan)->flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) >= ((((((scan)->flags)) >> 2) + 0xC0))" )), ( (sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)( (*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U8)) ? ((((NV) ((((( ((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) : (sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)((*locinput ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6908 , __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U32)) ? ((((NV) (((( (((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) : (((sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)(( *locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6910, __func__, "sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6908, __func__, \"( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))\")), ((U8) ((*locinput) | 0)))) == sizeof(U64)" )), ((((NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) ))) | |||
| 6909 | LOWEST_ANYOF_HRx_BYTE(ANYOF_FLAGS(scan)),((((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (( (((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)-> flags)) & 3)))) >= ((((((scan)->flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) >= ((((((scan)->flags)) >> 2) + 0xC0))" )), ( (sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)( (*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U8)) ? ((((NV) ((((( ((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) : (sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)((*locinput ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6908 , __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U32)) ? ((((NV) (((( (((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) : (((sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)(( *locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6910, __func__, "sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6908, __func__, \"( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))\")), ((U8) ((*locinput) | 0)))) == sizeof(U64)" )), ((((NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) ))) | |||
| 6910 | HIGHEST_ANYOF_HRx_BYTE(ANYOF_FLAGS(scan)))((((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (( (((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)-> flags)) & 3)))) >= ((((((scan)->flags)) >> 2) + 0xC0))) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) >= ((((((scan)->flags)) >> 2) + 0xC0))" )), ( (sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)( (*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U8)) ? ((((NV) ((((( ((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) : (sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)((*locinput ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6908 , __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U32)) ? ((((NV) (((( (((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) : (((sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)(( *locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 6910, __func__, "sizeof((U8) (((( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 6908, __func__, \"( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))\")), ((U8) ((*locinput) | 0)))) == sizeof(U64)" )), ((((NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910, __func__, "(NV) (((((((scan)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ( (0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ( (((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0) ? (void)0 : __assert2("re_exec.c", 6910 , __func__, "(NV) (((((((((scan)->flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3)))) - ((((((scan)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((U8) (((( (sizeof(*locinput) == 1) || ! (((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 6908, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))))))) - ((((((((scan)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((scan)-> flags)) >> 2) + 0xC0) + ((0xEF - (((((scan)->flags)) >> 2) + 0xC0)) >> ((((scan)->flags)) & 3) ))) - ((((((scan)->flags)) >> 2) + 0xC0)))) | 0))))) ))) | |||
| 6911 | || ! reginclass(rex, scan, (U8*)locinput, (U8*) loceol,S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target ) | |||
| 6912 | utf8_target)S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target )) | |||
| 6913 | { | |||
| 6914 | sayNOgoto no; | |||
| 6915 | } | |||
| 6916 | goto increment_locinput; | |||
| 6917 | break; | |||
| 6918 | ||||
| 6919 | case ANYOFHs25: | |||
| 6920 | if ( ! utf8_target | |||
| 6921 | || NEXTCHR_IS_EOS(nextchr < 0) | |||
| 6922 | || loceol - locinput < FLAGS(scan)((scan)->flags) | |||
| 6923 | || memNE(locinput, ((struct regnode_anyofhs *) scan)->string, FLAGS(scan))(! (memcmp(((const void *) (locinput)), ((const void *) (((struct regnode_anyofhs *) scan)->string)), ((scan)->flags)) == 0)) | |||
| 6924 | || ! reginclass(rex, scan, (U8*)locinput, (U8*) loceol,S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target ) | |||
| 6925 | utf8_target)S_reginclass( rex,scan,(U8*)locinput,(U8*) loceol,utf8_target )) | |||
| 6926 | { | |||
| 6927 | sayNOgoto no; | |||
| 6928 | } | |||
| 6929 | goto increment_locinput; | |||
| 6930 | break; | |||
| 6931 | ||||
| 6932 | case ANYOFR26: | |||
| 6933 | if (NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6934 | sayNOgoto no; | |||
| 6935 | } | |||
| 6936 | ||||
| 6937 | if (utf8_target) { | |||
| 6938 | if ( ANYOF_FLAGS(scan)((scan)->flags) > NATIVE_UTF8_TO_I8(*locinput)(((( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 6938, __func__, "( (sizeof(*locinput) == 1) || !(((U64)((*locinput) | 0)) & ~0xFF))" )), ((U8) ((*locinput) | 0))) | |||
| 6939 | || ! withinCOUNT(utf8_to_uvchr_buf((U8 *) locinput,((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0))))) | |||
| 6940 | (U8 *) reginfo->strend,((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0))))) | |||
| 6941 | NULL),((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0))))) | |||
| 6942 | ANYOFRbase(scan), ANYOFRdelta(scan))((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6942, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0)))))) | |||
| 6943 | { | |||
| 6944 | sayNOgoto no; | |||
| 6945 | } | |||
| 6946 | } | |||
| 6947 | else { | |||
| 6948 | if (! withinCOUNT((U8) *locinput,((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6949, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6949, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *locinput)) - (((((((struct regnode_1 *)scan )->arg1)) & ((1 << 20) - 1))) | 0))) <= (((U64 ) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0 ))))) | |||
| 6949 | ANYOFRbase(scan), ANYOFRdelta(scan))((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6949, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6949, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *locinput)) - (((((((struct regnode_1 *)scan )->arg1)) & ((1 << 20) - 1))) | 0))) <= (((U64 ) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0 )))))) | |||
| 6950 | { | |||
| 6951 | sayNOgoto no; | |||
| 6952 | } | |||
| 6953 | } | |||
| 6954 | goto increment_locinput; | |||
| 6955 | break; | |||
| 6956 | ||||
| 6957 | case ANYOFRb27: | |||
| 6958 | if (NEXTCHR_IS_EOS(nextchr < 0)) { | |||
| 6959 | sayNOgoto no; | |||
| 6960 | } | |||
| 6961 | ||||
| 6962 | if (utf8_target) { | |||
| 6963 | if ( ANYOF_FLAGS(scan)((scan)->flags) != (U8) *locinput | |||
| 6964 | || ! withinCOUNT(utf8_to_uvchr_buf((U8 *) locinput,((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0))))) | |||
| 6965 | (U8 *) reginfo->strend,((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0))))) | |||
| 6966 | NULL),((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0))))) | |||
| 6967 | ANYOFRbase(scan), ANYOFRdelta(scan))((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6967, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) locinput),(const U8 *) (U8 *) reginfo->strend,((void *)0)))) - (((((((struct regnode_1 *)scan)->arg1)) & (( 1 << 20) - 1))) | 0))) <= (((U64) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0)))))) | |||
| 6968 | { | |||
| 6969 | sayNOgoto no; | |||
| 6970 | } | |||
| 6971 | } | |||
| 6972 | else { | |||
| 6973 | if (! withinCOUNT((U8) *locinput,((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6974, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6974, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *locinput)) - (((((((struct regnode_1 *)scan )->arg1)) & ((1 << 20) - 1))) | 0))) <= (((U64 ) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0 ))))) | |||
| 6974 | ANYOFRbase(scan), ANYOFRdelta(scan))((((NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 6974, __func__, "(NV) ((((((struct regnode_1 *)scan)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0) ? (void)0 : __assert2("re_exec.c", 6974, __func__ , "(NV) ((((((struct regnode_1 *)scan)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *locinput)) - (((((((struct regnode_1 *)scan )->arg1)) & ((1 << 20) - 1))) | 0))) <= (((U64 ) (((((((struct regnode_1 *)scan)->arg1)) >> 20)) | 0 )))))) | |||
| 6975 | { | |||
| 6976 | sayNOgoto no; | |||
| 6977 | } | |||
| 6978 | } | |||
| 6979 | goto increment_locinput; | |||
| 6980 | break; | |||
| 6981 | ||||
| 6982 | /* The argument (FLAGS) to all the POSIX node types is the class number | |||
| 6983 | * */ | |||
| 6984 | ||||
| 6985 | case NPOSIXL35: /* \W or [:^punct:] etc. under /l */ | |||
| 6986 | to_complement = 1; | |||
| 6987 | /* FALLTHROUGH */ | |||
| 6988 | ||||
| 6989 | case POSIXL31: /* \w or [:punct:] etc. under /l */ | |||
| 6990 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 6991 | if (NEXTCHR_IS_EOS(nextchr < 0) || locinput >= loceol) | |||
| 6992 | sayNOgoto no; | |||
| 6993 | ||||
| 6994 | /* Use isFOO_lc() for characters within Latin1. (Note that | |||
| 6995 | * UTF8_IS_INVARIANT works even on non-UTF-8 strings, or else | |||
| 6996 | * wouldn't be invariant) */ | |||
| 6997 | if (UTF8_IS_INVARIANT(nextchr)((((U64)(((UV) (((nextchr) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0))) || ! utf8_target) { | |||
| 6998 | if (! (to_complement ^ cBOOL(isFOO_lc(FLAGS(scan), (U8) nextchr))((Perl_isFOO_lc( ((scan)->flags),(U8) nextchr)) ? (_Bool)1 : (_Bool)0))) { | |||
| 6999 | sayNOgoto no; | |||
| 7000 | } | |||
| 7001 | ||||
| 7002 | locinput++; | |||
| 7003 | break; | |||
| 7004 | } | |||
| 7005 | ||||
| 7006 | if (! UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(locinput, reginfo->strend)( (((( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7006, __func__ , "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7006 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(locinput)) == 1) || !(((U64)((*( locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7006, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7006, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7006, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(locinput)) == 1) || !((( U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7006, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 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((((( (sizeof(*(locinput)) == 1) || !(((U64) ((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7006, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7006, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7006, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(locinput)) == 1) || !(( (U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7006, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 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((((( (sizeof(*(locinput)) == 1) || !(((U64 )((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7006, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7006, __func__, "sizeof((((( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7006, __func__, \"( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7006, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7006, __func__, "(NV) (((((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) ((((( (sizeof(*(locinput)) == 1) || !(( (U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7006, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 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))))))))) && ( (reginfo->strend) - (locinput) > 1) && (((( (sizeof(*((locinput)+1)) == 1) || !(((U64 )((*((locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7006, __func__, "( (sizeof(*((locinput)+1)) == 1) || !(((U64)((*((locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((locinput)+1)) == 1) || !(((U64)((*((locinput )+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7006, __func__, "( (sizeof(*((locinput)+1)) == 1) || !(((U64)((*((locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0)))))) { | |||
| 7007 | /* An above Latin-1 code point, or malformed */ | |||
| 7008 | _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(locinput,do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (locinput)),(const U8 *) (U8 *) (reginfo->strend),(( void*)0)); Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s" , (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type])); } } while (0) | |||
| 7009 | reginfo->strend)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (locinput)),(const U8 *) (U8 *) (reginfo->strend),(( void*)0)); Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s" , (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type])); } } while (0); | |||
| 7010 | goto utf8_posix_above_latin1; | |||
| 7011 | } | |||
| 7012 | ||||
| 7013 | /* Here is a UTF-8 variant code point below 256 and the target is | |||
| 7014 | * UTF-8 */ | |||
| 7015 | if (! (to_complement ^ cBOOL(isFOO_lc(FLAGS(scan),((Perl_isFOO_lc( ((scan)->flags),( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7017, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) ? (_Bool)1 : (_Bool)0) | |||
| 7016 | EIGHT_BIT_UTF8_TO_NATIVE(nextchr,((Perl_isFOO_lc( ((scan)->flags),( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7017, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) ? (_Bool)1 : (_Bool)0) | |||
| 7017 | *(locinput + 1))))((Perl_isFOO_lc( ((scan)->flags),( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7017, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7017, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7017, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7017, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7017, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))) ? (_Bool)1 : (_Bool)0))) | |||
| 7018 | { | |||
| 7019 | sayNOgoto no; | |||
| 7020 | } | |||
| 7021 | ||||
| 7022 | goto increment_locinput; | |||
| 7023 | ||||
| 7024 | case NPOSIXD34: /* \W or [:^punct:] etc. under /d */ | |||
| 7025 | to_complement = 1; | |||
| 7026 | /* FALLTHROUGH */ | |||
| 7027 | ||||
| 7028 | case POSIXD30: /* \w or [:punct:] etc. under /d */ | |||
| 7029 | if (utf8_target) { | |||
| 7030 | goto utf8_posix; | |||
| 7031 | } | |||
| 7032 | goto posixa; | |||
| 7033 | ||||
| 7034 | case NPOSIXA37: /* \W or [:^punct:] etc. under /a */ | |||
| 7035 | ||||
| 7036 | if (NEXTCHR_IS_EOS(nextchr < 0) || locinput >= loceol) { | |||
| 7037 | sayNOgoto no; | |||
| 7038 | } | |||
| 7039 | ||||
| 7040 | /* All UTF-8 variants match */ | |||
| 7041 | if (! UTF8_IS_INVARIANT(nextchr)((((U64)(((UV) (((nextchr) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) { | |||
| 7042 | goto increment_locinput; | |||
| 7043 | } | |||
| 7044 | ||||
| 7045 | to_complement = 1; | |||
| 7046 | goto join_nposixa; | |||
| 7047 | ||||
| 7048 | case POSIXA33: /* \w or [:punct:] etc. under /a */ | |||
| 7049 | ||||
| 7050 | posixa: | |||
| 7051 | /* We get here through POSIXD, NPOSIXD, and NPOSIXA when not in | |||
| 7052 | * UTF-8, and also from NPOSIXA even in UTF-8 when the current | |||
| 7053 | * character is a single byte */ | |||
| 7054 | ||||
| 7055 | if (NEXTCHR_IS_EOS(nextchr < 0) || locinput >= loceol) { | |||
| 7056 | sayNOgoto no; | |||
| 7057 | } | |||
| 7058 | ||||
| 7059 | join_nposixa: | |||
| 7060 | ||||
| 7061 | if (! (to_complement ^ cBOOL(_generic_isCC_A(nextchr,(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (nextchr)] & ((1U << (((scan)->flags))) | (1U << (14)))) == ((1U << (((scan)->flags))) | (1U << (14)))))) ? (_Bool )1 : (_Bool)0) | |||
| 7062 | FLAGS(scan)))(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF)) && ((PL_charclass[(U8) (nextchr)] & ((1U << (((scan)->flags))) | (1U << (14)))) == ((1U << (((scan)->flags))) | (1U << (14)))))) ? (_Bool )1 : (_Bool)0))) | |||
| 7063 | { | |||
| 7064 | sayNOgoto no; | |||
| 7065 | } | |||
| 7066 | ||||
| 7067 | /* Here we are either not in utf8, or we matched a utf8-invariant, | |||
| 7068 | * so the next char is the next byte */ | |||
| 7069 | locinput++; | |||
| 7070 | break; | |||
| 7071 | ||||
| 7072 | case NPOSIXU36: /* \W or [:^punct:] etc. under /u */ | |||
| 7073 | to_complement = 1; | |||
| 7074 | /* FALLTHROUGH */ | |||
| 7075 | ||||
| 7076 | case POSIXU32: /* \w or [:punct:] etc. under /u */ | |||
| 7077 | utf8_posix: | |||
| 7078 | if (NEXTCHR_IS_EOS(nextchr < 0) || locinput >= loceol) { | |||
| 7079 | sayNOgoto no; | |||
| 7080 | } | |||
| 7081 | ||||
| 7082 | /* Use _generic_isCC() for characters within Latin1. (Note that | |||
| 7083 | * UTF8_IS_INVARIANT works even on non-UTF-8 strings, or else | |||
| 7084 | * wouldn't be invariant) */ | |||
| 7085 | if (UTF8_IS_INVARIANT(nextchr)((((U64)(((UV) (((nextchr) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0))) || ! utf8_target) { | |||
| 7086 | if (! (to_complement ^ cBOOL(_generic_isCC(nextchr,((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF)) && (PL_charclass[(U8) (nextchr)] & (1U << (((scan)->flags))))) ? (_Bool)1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0) | |||
| 7087 | FLAGS(scan)))((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF)) && (PL_charclass[(U8) (nextchr)] & (1U << (((scan)->flags))))) ? (_Bool)1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0))) | |||
| 7088 | { | |||
| 7089 | sayNOgoto no; | |||
| 7090 | } | |||
| 7091 | locinput++; | |||
| 7092 | } | |||
| 7093 | else if (UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(locinput, reginfo->strend)( (((( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7093, __func__ , "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7093 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(locinput)) == 1) || !(((U64)((*( locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7093, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 0)))) == sizeof(U8)) ? ((((NV) ((( ((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7093, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7093, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(locinput)) == 1) || !((( U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7093, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 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((((( (sizeof(*(locinput)) == 1) || !(((U64) ((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7093, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 0)))) == sizeof(U32)) ? ((((NV) (( (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7093, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7093, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(locinput)) == 1) || !(( (U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7093, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 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((((( (sizeof(*(locinput)) == 1) || !(((U64 )((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7093, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7093, __func__, "sizeof((((( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7093, __func__, \"( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7093, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7093, __func__, "(NV) (((((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) ((((( (sizeof(*(locinput)) == 1) || !(( (U64)((*(locinput)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7093, __func__, "( (sizeof(*(locinput)) == 1) || !(((U64)((*(locinput)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput)) | 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))))))))) && ( (reginfo->strend) - (locinput) > 1) && (((( (sizeof(*((locinput)+1)) == 1) || !(((U64 )((*((locinput)+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7093, __func__, "( (sizeof(*((locinput)+1)) == 1) || !(((U64)((*((locinput)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((locinput)+1)) == 1) || !(((U64)((*((locinput )+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7093, __func__, "( (sizeof(*((locinput)+1)) == 1) || !(((U64)((*((locinput)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((locinput)+1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0)))))) { | |||
| 7094 | if (! (to_complement | |||
| 7095 | ^ cBOOL(_generic_isCC(EIGHT_BIT_UTF8_TO_NATIVE(nextchr,((((( (sizeof(( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(nextchr ) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (((scan)->flags) )))) ? (_Bool)1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0) | |||
| 7096 | *(locinput + 1)),((((( (sizeof(( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(nextchr ) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (((scan)->flags) )))) ? (_Bool)1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0) | |||
| 7097 | FLAGS(scan)))((((( (sizeof(( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(nextchr ) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64) ((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096 , __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 7096, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)(( nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64 )((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "(((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"sizeof((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 7096, __func__, \\\"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\\\")), ((U8) ((nextchr) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"(NV) (((((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) ((((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 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(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "(((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(*(locinput + 1)) == 1) || !(((U64)((*(locinput + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(locinput + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(( (U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1) )) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 7096, __func__, "( (sizeof((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))\")), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 7096, __func__, \"( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64) (((*(locinput + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 7096, __func__ , "( (sizeof(nextchr) == 1) || !(((U64)((nextchr) | 0)) & ~0xFF))" )), ((U8) ((nextchr) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 7096, __func__, "( (sizeof((*(locinput + 1))) == 1) || !(((U64)(((*(locinput + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(locinput + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (((scan)->flags) )))) ? (_Bool)1 : (_Bool)0)) ? (_Bool)1 : (_Bool)0))) | |||
| 7098 | { | |||
| 7099 | sayNOgoto no; | |||
| 7100 | } | |||
| 7101 | locinput += 2; | |||
| 7102 | } | |||
| 7103 | else { /* Handle above Latin-1 code points */ | |||
| 7104 | utf8_posix_above_latin1: | |||
| 7105 | classnum = (_char_class_number) FLAGS(scan)((scan)->flags); | |||
| 7106 | switch (classnum) { | |||
| 7107 | default: | |||
| 7108 | if (! (to_complement | |||
| 7109 | ^ cBOOL(_invlist_contains_cp(((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) locinput),(const U8 *) (U8 *) reginfo-> strend,((void*)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 7110 | PL_XPosix_ptrs[classnum],((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) locinput),(const U8 *) (U8 *) reginfo-> strend,((void*)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 7111 | utf8_to_uvchr_buf((U8 *) locinput,((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) locinput),(const U8 *) (U8 *) reginfo-> strend,((void*)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 7112 | (U8 *) reginfo->strend,((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) locinput),(const U8 *) (U8 *) reginfo-> strend,((void*)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 7113 | NULL)))((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) locinput),(const U8 *) (U8 *) reginfo-> strend,((void*)0)))) ? (_Bool)1 : (_Bool)0))) | |||
| 7114 | { | |||
| 7115 | sayNOgoto no; | |||
| 7116 | } | |||
| 7117 | break; | |||
| 7118 | case _CC_ENUM_SPACE: | |||
| 7119 | if (! (to_complement | |||
| 7120 | ^ cBOOL(is_XPERLSPACE_high(locinput))((( ( 0xE1 == ((const U8*)locinput)[0] ) ? ( ( ( 0x9A == ((const U8*)locinput)[1] ) && ( 0x80 == ((const U8*)locinput )[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)locinput)[0] ) ? ( ( 0x80 == ((const U8*)locinput)[1] ) ? ( ( ((((0x8A) >= (0x80 )) ? (void)0 : __assert2("re_exec.c", 7120, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c", 7120 , __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 7120, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7120, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 7120, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0x80)) | 0))) <= (((U64) ( (((0x8A) - (0x80))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 7120 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7120, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 7120, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0x80)) | 0))) <= (((U64) ( (((0x8A) - (0x80))) | 0)))))))) || ((((0xA9) >= (0xA8)) ? ( void)0 : __assert2("re_exec.c", 7120, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c", 7120 , __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 7120, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7120, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 7120, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 7120 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7120, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 7120, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0)))))))) || 0xAF == ((const U8*)locinput )[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)locinput)[1] ) && ( 0x9F == ((const U8*)locinput)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)locinput)[0] ) && ( 0x80 == ((const U8 *)locinput)[1] ) ) && ( 0x80 == ((const U8*)locinput) [2] ) ) ? 3 : 0 )) ? (_Bool)1 : (_Bool)0))) | |||
| 7121 | { | |||
| 7122 | sayNOgoto no; | |||
| 7123 | } | |||
| 7124 | break; | |||
| 7125 | case _CC_ENUM_BLANK: | |||
| 7126 | if (! (to_complement | |||
| 7127 | ^ cBOOL(is_HORIZWS_high(locinput))((( ( 0xE1 == ((const U8*)locinput)[0] ) ? ( ( ( 0x9A == ((const U8*)locinput)[1] ) && ( 0x80 == ((const U8*)locinput )[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)locinput)[0] ) ? ( ( 0x80 == ((const U8*)locinput)[1] ) ? ( ( ((((0x8A) >= (0x80 )) ? (void)0 : __assert2("re_exec.c", 7127, __func__, "(0x8A) >= (0x80)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c", 7127 , __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 7127, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7127, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 7127, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0x80)) | 0))) <= (((U64) ( (((0x8A) - (0x80))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 7127 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7127, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 7127, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0x80)) | 0))) <= (((U64) ( (((0x8A) - (0x80))) | 0)))))))) || 0xAF == ((const U8*)locinput )[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)locinput)[1] ) && ( 0x9F == ((const U8*)locinput)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)locinput)[0] ) && ( 0x80 == ((const U8 *)locinput)[1] ) ) && ( 0x80 == ((const U8*)locinput) [2] ) ) ? 3 : 0 )) ? (_Bool)1 : (_Bool)0))) | |||
| 7128 | { | |||
| 7129 | sayNOgoto no; | |||
| 7130 | } | |||
| 7131 | break; | |||
| 7132 | case _CC_ENUM_XDIGIT: | |||
| 7133 | if (! (to_complement | |||
| 7134 | ^ cBOOL(is_XDIGIT_high(locinput))((( ( 0xEF == ((const U8*)locinput)[0] ) ? ( ( 0xBC == ((const U8*)locinput)[1] ) ? ( ( ((((0x99) >= (0x90)) ? (void)0 : __assert2("re_exec.c", 7134, __func__, "(0x99) >= (0x90)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c", 7134 , __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0x99) - (0x90))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99 ) - (0x90))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7134, __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0x99) - (0x90))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0x90)) | 0))) <= (((U64) ( (((0x99) - (0x90))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 7134 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7134, __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0x99) - (0x90))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0x90)) | 0))) <= (((U64) ( (((0x99) - (0x90))) | 0)))))))) || ((((0xA6) >= (0xA1)) ? ( void)0 : __assert2("re_exec.c", 7134, __func__, "(0xA6) >= (0xA1)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c", 7134 , __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6 ) - (0xA1))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7134, __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0xA1)) | 0))) <= (((U64) ( (((0xA6) - (0xA1))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 7134 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7134, __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0xA1)) | 0))) <= (((U64) ( (((0xA6) - (0xA1))) | 0)))))))) ) ? 3 : 0 ) : ( ( 0xBD == ((const U8*)locinput)[1] ) && ( ((((0x86) >= (0x81)) ? (void )0 : __assert2("re_exec.c", 7134, __func__, "(0x86) >= (0x81)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c", 7134 , __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0x86) - (0x81))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86 ) - (0x81))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7134, __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0x86) - (0x81))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0x81)) | 0))) <= (((U64) ( (((0x86) - (0x81))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 7134 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7134, __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c", 7134, __func__ , "(NV) (((0x86) - (0x81))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0x81)) | 0))) <= (((U64) ( (((0x86) - (0x81))) | 0)))))))) ) ) ? 3 : 0 ): 0 )) ? (_Bool) 1 : (_Bool)0))) | |||
| 7135 | { | |||
| 7136 | sayNOgoto no; | |||
| 7137 | } | |||
| 7138 | break; | |||
| 7139 | case _CC_ENUM_VERTSPACE: | |||
| 7140 | if (! (to_complement | |||
| 7141 | ^ cBOOL(is_VERTWS_high(locinput))((( ( ( ( 0xE2 == ((const U8*)locinput)[0] ) && ( 0x80 == ((const U8*)locinput)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 7141, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c", 7141 , __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 7141, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7141, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 7141, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 7141 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 7141, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 7141, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 )) ? (_Bool)1 : ( _Bool)0))) | |||
| 7142 | { | |||
| 7143 | sayNOgoto no; | |||
| 7144 | } | |||
| 7145 | break; | |||
| 7146 | case _CC_ENUM_CNTRL: /* These can't match above Latin1 */ | |||
| 7147 | case _CC_ENUM_ASCII: | |||
| 7148 | if (! to_complement) { | |||
| 7149 | sayNOgoto no; | |||
| 7150 | } | |||
| 7151 | break; | |||
| 7152 | } | |||
| 7153 | locinput += UTF8_SAFE_SKIP(locinput, reginfo->strend)((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 7153, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)]))); | |||
| 7154 | } | |||
| 7155 | break; | |||
| 7156 | ||||
| 7157 | case CLUMP38: /* Match \X: logical Unicode character. This is defined as | |||
| 7158 | a Unicode extended Grapheme Cluster */ | |||
| 7159 | if (NEXTCHR_IS_EOS(nextchr < 0) || locinput >= loceol) | |||
| 7160 | sayNOgoto no; | |||
| 7161 | if (! utf8_target) { | |||
| 7162 | ||||
| 7163 | /* Match either CR LF or '.', as all the other possibilities | |||
| 7164 | * require utf8 */ | |||
| 7165 | locinput++; /* Match the . or CR */ | |||
| 7166 | if (nextchr == '\r' /* And if it was CR, and the next is LF, | |||
| 7167 | match the LF */ | |||
| 7168 | && locinput < loceol | |||
| 7169 | && UCHARAT(locinput)((int)*(const U8*)(locinput)) == '\n') | |||
| 7170 | { | |||
| 7171 | locinput++; | |||
| 7172 | } | |||
| 7173 | } | |||
| 7174 | else { | |||
| 7175 | ||||
| 7176 | /* Get the gcb type for the current character */ | |||
| 7177 | GCB_enum prev_gcb = getGCB_VAL_UTF8((U8*) locinput,((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 7178, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])) | |||
| 7178 | (U8*) reginfo->strend)((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 7178, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])); | |||
| 7179 | ||||
| 7180 | /* Then scan through the input until we get to the first | |||
| 7181 | * character whose type is supposed to be a gcb with the | |||
| 7182 | * current character. (There is always a break at the | |||
| 7183 | * end-of-input) */ | |||
| 7184 | locinput += UTF8SKIP(locinput)PL_utf8skip[*(const U8*)(locinput)]; | |||
| 7185 | while (locinput < loceol) { | |||
| 7186 | GCB_enum cur_gcb = getGCB_VAL_UTF8((U8*) locinput,((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 7187, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])) | |||
| 7187 | (U8*) reginfo->strend)((((U8*) locinput < (U8*) reginfo->strend) ? (void)0 : __assert2 ("re_exec.c", 7187, __func__, "(U8*) locinput < (U8*) reginfo->strend" )), (_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist , (Perl_utf8_to_uvchr_buf_helper( (const U8 *) (((U8*) locinput )),(const U8 *) ((U8*) reginfo->strend),((void*)0))))])); | |||
| 7188 | if (isGCB(prev_gcb, cur_gcb,S_isGCB( prev_gcb,cur_gcb,(U8*) reginfo->strbeg,(U8*) locinput ,utf8_target) | |||
| 7189 | (U8*) reginfo->strbeg, (U8*) locinput,S_isGCB( prev_gcb,cur_gcb,(U8*) reginfo->strbeg,(U8*) locinput ,utf8_target) | |||
| 7190 | utf8_target)S_isGCB( prev_gcb,cur_gcb,(U8*) reginfo->strbeg,(U8*) locinput ,utf8_target)) | |||
| 7191 | { | |||
| 7192 | break; | |||
| 7193 | } | |||
| 7194 | ||||
| 7195 | prev_gcb = cur_gcb; | |||
| 7196 | locinput += UTF8SKIP(locinput)PL_utf8skip[*(const U8*)(locinput)]; | |||
| 7197 | } | |||
| 7198 | ||||
| 7199 | ||||
| 7200 | } | |||
| 7201 | break; | |||
| 7202 | ||||
| 7203 | case REFFLN74: /* /\g{name}/il */ | |||
| 7204 | { /* The capture buffer cases. The ones beginning with N for the | |||
| 7205 | named buffers just convert to the equivalent numbered and | |||
| 7206 | pretend they were called as the corresponding numbered buffer | |||
| 7207 | op. */ | |||
| 7208 | /* don't initialize these in the declaration, it makes C++ | |||
| 7209 | unhappy */ | |||
| 7210 | const char *s; | |||
| 7211 | char type; | |||
| 7212 | re_fold_t folder; | |||
| 7213 | const U8 *fold_array; | |||
| 7214 | UV utf8_fold_flags; | |||
| 7215 | ||||
| 7216 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 7217 | folder = foldEQ_localePerl_foldEQ_locale; | |||
| 7218 | fold_array = PL_fold_locale; | |||
| 7219 | type = REFFL69; | |||
| 7220 | utf8_fold_flags = FOLDEQ_LOCALE(1 << 1); | |||
| 7221 | goto do_nref; | |||
| 7222 | ||||
| 7223 | case REFFAN76: /* /\g{name}/iaa */ | |||
| 7224 | folder = foldEQ_latin1Perl_foldEQ_latin1; | |||
| 7225 | fold_array = PL_fold_latin1; | |||
| 7226 | type = REFFA71; | |||
| 7227 | utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII(1 << 0); | |||
| 7228 | goto do_nref; | |||
| 7229 | ||||
| 7230 | case REFFUN75: /* /\g{name}/iu */ | |||
| 7231 | folder = foldEQ_latin1Perl_foldEQ_latin1; | |||
| 7232 | fold_array = PL_fold_latin1; | |||
| 7233 | type = REFFU70; | |||
| 7234 | utf8_fold_flags = 0; | |||
| 7235 | goto do_nref; | |||
| 7236 | ||||
| 7237 | case REFFN73: /* /\g{name}/i */ | |||
| 7238 | folder = foldEQPerl_foldEQ; | |||
| 7239 | fold_array = PL_fold; | |||
| 7240 | type = REFF68; | |||
| 7241 | utf8_fold_flags = 0; | |||
| 7242 | goto do_nref; | |||
| 7243 | ||||
| 7244 | case REFN72: /* /\g{name}/ */ | |||
| 7245 | type = REF67; | |||
| 7246 | folder = NULL((void*)0); | |||
| 7247 | fold_array = NULL((void*)0); | |||
| 7248 | utf8_fold_flags = 0; | |||
| 7249 | do_nref: | |||
| 7250 | ||||
| 7251 | /* For the named back references, find the corresponding buffer | |||
| 7252 | * number */ | |||
| 7253 | n = reg_check_named_buff_matchedS_reg_check_named_buff_matched(rex,scan); | |||
| 7254 | ||||
| 7255 | if ( ! n ) { | |||
| 7256 | sayNOgoto no; | |||
| 7257 | } | |||
| 7258 | goto do_nref_ref_common; | |||
| 7259 | ||||
| 7260 | case REFFL69: /* /\1/il */ | |||
| 7261 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 7262 | folder = foldEQ_localePerl_foldEQ_locale; | |||
| 7263 | fold_array = PL_fold_locale; | |||
| 7264 | utf8_fold_flags = FOLDEQ_LOCALE(1 << 1); | |||
| 7265 | goto do_ref; | |||
| 7266 | ||||
| 7267 | case REFFA71: /* /\1/iaa */ | |||
| 7268 | folder = foldEQ_latin1Perl_foldEQ_latin1; | |||
| 7269 | fold_array = PL_fold_latin1; | |||
| 7270 | utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII(1 << 0); | |||
| 7271 | goto do_ref; | |||
| 7272 | ||||
| 7273 | case REFFU70: /* /\1/iu */ | |||
| 7274 | folder = foldEQ_latin1Perl_foldEQ_latin1; | |||
| 7275 | fold_array = PL_fold_latin1; | |||
| 7276 | utf8_fold_flags = 0; | |||
| 7277 | goto do_ref; | |||
| 7278 | ||||
| 7279 | case REFF68: /* /\1/i */ | |||
| 7280 | folder = foldEQPerl_foldEQ; | |||
| 7281 | fold_array = PL_fold; | |||
| 7282 | utf8_fold_flags = 0; | |||
| 7283 | goto do_ref; | |||
| 7284 | ||||
| 7285 | case REF67: /* /\1/ */ | |||
| 7286 | folder = NULL((void*)0); | |||
| 7287 | fold_array = NULL((void*)0); | |||
| 7288 | utf8_fold_flags = 0; | |||
| 7289 | ||||
| 7290 | do_ref: | |||
| 7291 | type = OP(scan)((scan)->type); | |||
| 7292 | n = ARG(scan)((((struct regnode_1 *)scan)->arg1)); /* which paren pair */ | |||
| 7293 | ||||
| 7294 | do_nref_ref_common: | |||
| 7295 | ln = rex->offs[n].start; | |||
| 7296 | endref = rex->offs[n].end; | |||
| 7297 | reginfo->poscache_iter = reginfo->poscache_maxiter; /* Void cache */ | |||
| 7298 | if (rex->lastparen < n || ln == -1 || endref == -1) | |||
| 7299 | sayNOgoto no; /* Do not match unless seen CLOSEn. */ | |||
| 7300 | if (ln == endref) | |||
| 7301 | break; | |||
| 7302 | ||||
| 7303 | s = reginfo->strbeg + ln; | |||
| 7304 | if (type != REF67 /* REF can do byte comparison */ | |||
| 7305 | && (utf8_target || type == REFFU70 || type == REFFL69)) | |||
| 7306 | { | |||
| 7307 | char * limit = loceol; | |||
| 7308 | ||||
| 7309 | /* This call case insensitively compares the entire buffer | |||
| 7310 | * at s, with the current input starting at locinput, but | |||
| 7311 | * not going off the end given by loceol, and | |||
| 7312 | * returns in <limit> upon success, how much of the | |||
| 7313 | * current input was matched */ | |||
| 7314 | if (! foldEQ_utf8_flags(s, NULL, endref - ln, utf8_target,Perl_foldEQ_utf8_flags( s,((void*)0),endref - ln,utf8_target, locinput,&limit,0,utf8_target,utf8_fold_flags) | |||
| 7315 | locinput, &limit, 0, utf8_target, utf8_fold_flags)Perl_foldEQ_utf8_flags( s,((void*)0),endref - ln,utf8_target, locinput,&limit,0,utf8_target,utf8_fold_flags)) | |||
| 7316 | { | |||
| 7317 | sayNOgoto no; | |||
| 7318 | } | |||
| 7319 | locinput = limit; | |||
| 7320 | break; | |||
| 7321 | } | |||
| 7322 | ||||
| 7323 | /* Not utf8: Inline the first character, for speed. */ | |||
| 7324 | if ( ! NEXTCHR_IS_EOS(nextchr < 0) | |||
| 7325 | && locinput < loceol | |||
| 7326 | && UCHARAT(s)((int)*(const U8*)(s)) != nextchr | |||
| 7327 | && ( type == REF67 | |||
| 7328 | || UCHARAT(s)((int)*(const U8*)(s)) != fold_array[nextchr])) | |||
| 7329 | { | |||
| 7330 | sayNOgoto no; | |||
| 7331 | } | |||
| 7332 | ln = endref - ln; | |||
| 7333 | if (locinput + ln > loceol) | |||
| 7334 | sayNOgoto no; | |||
| 7335 | if (ln > 1 && (type == REF67 | |||
| 7336 | ? memNE(s, locinput, ln)(! (memcmp(((const void *) (s)), ((const void *) (locinput)), ln) == 0)) | |||
| 7337 | : ! folder(locinput, s, ln))) | |||
| 7338 | sayNOgoto no; | |||
| 7339 | locinput += ln; | |||
| 7340 | break; | |||
| 7341 | } | |||
| 7342 | ||||
| 7343 | case NOTHING54: /* null op; e.g. the 'nothing' following | |||
| 7344 | * the '*' in m{(a+|b)*}' */ | |||
| 7345 | break; | |||
| 7346 | case TAIL55: /* placeholder while compiling (A|B|C) */ | |||
| 7347 | break; | |||
| 7348 | ||||
| 7349 | #undef ST | |||
| 7350 | #define ST st->u.eval | |||
| 7351 | #define CUR_EVALcur_eval->u.eval cur_eval->u.eval | |||
| 7352 | ||||
| 7353 | { | |||
| 7354 | SV *ret; | |||
| 7355 | REGEXP *re_sv; | |||
| 7356 | regexp *re; | |||
| 7357 | regexp_internal *rei; | |||
| 7358 | regnode *startpoint; | |||
| 7359 | U32 arg; | |||
| 7360 | ||||
| 7361 | case GOSUB92: /* /(...(?1))/ /(...(?&foo))/ */ | |||
| 7362 | arg= (U32)ARG(scan)((((struct regnode_1 *)scan)->arg1)); | |||
| 7363 | if (cur_eval && cur_eval->locinput == locinput) { | |||
| 7364 | if ( ++nochange_depth > max_nochange_depth ) | |||
| 7365 | Perl_croak(aTHX_ | |||
| 7366 | "Pattern subroutine nesting without pos change" | |||
| 7367 | " exceeded limit in regex"); | |||
| 7368 | } else { | |||
| 7369 | nochange_depth = 0; | |||
| 7370 | } | |||
| 7371 | re_sv = rex_sv; | |||
| 7372 | re = rex; | |||
| 7373 | rei = rexi; | |||
| 7374 | startpoint = scan + ARG2L(scan)((((struct regnode_2L *)scan)->arg2)); | |||
| 7375 | EVAL_CLOSE_PAREN_SET( st, arg )(st)->u.eval.close_paren = ( (arg) + 1 ); | |||
| 7376 | /* Detect infinite recursion | |||
| 7377 | * | |||
| 7378 | * A pattern like /(?R)foo/ or /(?<x>(?&y)foo)(?<y>(?&x)bar)/ | |||
| 7379 | * or "a"=~/(.(?2))((?<=(?=(?1)).))/ could recurse forever. | |||
| 7380 | * So we track the position in the string we are at each time | |||
| 7381 | * we recurse and if we try to enter the same routine twice from | |||
| 7382 | * the same position we throw an error. | |||
| 7383 | */ | |||
| 7384 | if ( rex->recurse_locinput[arg] == locinput ) { | |||
| 7385 | /* FIXME: we should show the regop that is failing as part | |||
| 7386 | * of the error message. */ | |||
| 7387 | Perl_croak(aTHX_ "Infinite recursion in regex"); | |||
| 7388 | } else { | |||
| 7389 | ST.prev_recurse_locinput= rex->recurse_locinput[arg]; | |||
| 7390 | rex->recurse_locinput[arg]= locinput; | |||
| 7391 | ||||
| 7392 | DEBUG_r({do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7393 | DECLARE_AND_GET_RE_DEBUG_FLAGS;do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7394 | DEBUG_STACK_r({do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7395 | Perl_re_exec_indentf( aTHX_do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7396 | "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n",do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7397 | depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput[arg]do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7398 | );do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7399 | });do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0) | |||
| 7400 | })do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7393, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7393, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf( "entering GOSUB, prev_recurse_locinput=%p recurse_locinput[%d]=%p\n" , depth, ST.prev_recurse_locinput, arg, rex->recurse_locinput [arg] ); };} while (0); };} while (0); | |||
| 7401 | } | |||
| 7402 | ||||
| 7403 | /* Save all the positions seen so far. */ | |||
| 7404 | ST.cp = regcppush(rex, 0, maxopenparen)S_regcppush( rex,0,maxopenparen ,depth); | |||
| 7405 | REGCP_SET(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.lastcp = PL_savestack_ix; | |||
| 7406 | ||||
| 7407 | /* and then jump to the code we share with EVAL */ | |||
| 7408 | goto eval_recurse_doit; | |||
| 7409 | /* NOTREACHED */ | |||
| 7410 | ||||
| 7411 | case EVAL84: /* /(?{...})B/ /(??{A})B/ and /(?(?{...})X|Y)B/ */ | |||
| 7412 | if (logical == 2 && cur_eval && cur_eval->locinput==locinput) { | |||
| 7413 | if ( ++nochange_depth > max_nochange_depth ) | |||
| 7414 | Perl_croak(aTHX_ "EVAL without pos change exceeded limit in regex"); | |||
| 7415 | } else { | |||
| 7416 | nochange_depth = 0; | |||
| 7417 | } | |||
| 7418 | { | |||
| 7419 | /* execute the code in the {...} */ | |||
| 7420 | ||||
| 7421 | dSPSV **sp = PL_stack_sp; | |||
| 7422 | IV before; | |||
| 7423 | OP * const oop = PL_op; | |||
| 7424 | COP * const ocurcop = PL_curcop; | |||
| 7425 | OP *nop; | |||
| 7426 | CV *newcv; | |||
| 7427 | ||||
| 7428 | /* save *all* paren positions */ | |||
| 7429 | regcppush(rex, 0, maxopenparen)S_regcppush( rex,0,maxopenparen ,depth); | |||
| 7430 | REGCP_SET(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.lastcp = PL_savestack_ix; | |||
| 7431 | ||||
| 7432 | if (!caller_cv) | |||
| 7433 | caller_cv = find_runcv(NULL)Perl_find_runcv( ((void*)0)); | |||
| 7434 | ||||
| 7435 | n = ARG(scan)((((struct regnode_1 *)scan)->arg1)); | |||
| 7436 | ||||
| 7437 | if (rexi->data->what[n] == 'r') { /* code from an external qr */ | |||
| 7438 | newcv = (ReANY(Perl_ReANY((const REGEXP *)((REGEXP*)(rexi->data->data[ n]))) | |||
| 7439 | (REGEXP*)(rexi->data->data[n])Perl_ReANY((const REGEXP *)((REGEXP*)(rexi->data->data[ n]))) | |||
| 7440 | )Perl_ReANY((const REGEXP *)((REGEXP*)(rexi->data->data[ n]))))->qr_anoncv; | |||
| 7441 | nop = (OP*)rexi->data->data[n+1]; | |||
| 7442 | } | |||
| 7443 | else if (rexi->data->what[n] == 'l') { /* literal code */ | |||
| 7444 | newcv = caller_cv; | |||
| 7445 | nop = (OP*)rexi->data->data[n]; | |||
| 7446 | assert(CvDEPTH(newcv))(((*Perl_CvDEPTH((const CV *)newcv))) ? (void)0 : __assert2("re_exec.c" , 7446, __func__, "CvDEPTH(newcv)")); | |||
| 7447 | } | |||
| 7448 | else { | |||
| 7449 | /* literal with own CV */ | |||
| 7450 | assert(rexi->data->what[n] == 'L')((rexi->data->what[n] == 'L') ? (void)0 : __assert2("re_exec.c" , 7450, __func__, "rexi->data->what[n] == 'L'")); | |||
| 7451 | newcv = rex->qr_anoncv; | |||
| 7452 | nop = (OP*)rexi->data->data[n]; | |||
| 7453 | } | |||
| 7454 | ||||
| 7455 | /* Some notes about MULTICALL and the context and save stacks. | |||
| 7456 | * | |||
| 7457 | * In something like | |||
| 7458 | * /...(?{ my $x)}...(?{ my $y)}...(?{ my $z)}.../ | |||
| 7459 | * since codeblocks don't introduce a new scope (so that | |||
| 7460 | * local() etc accumulate), at the end of a successful | |||
| 7461 | * match there will be a SAVEt_CLEARSV on the savestack | |||
| 7462 | * for each of $x, $y, $z. If the three code blocks above | |||
| 7463 | * happen to have come from different CVs (e.g. via | |||
| 7464 | * embedded qr//s), then we must ensure that during any | |||
| 7465 | * savestack unwinding, PL_comppad always points to the | |||
| 7466 | * right pad at each moment. We achieve this by | |||
| 7467 | * interleaving SAVEt_COMPPAD's on the savestack whenever | |||
| 7468 | * there is a change of pad. | |||
| 7469 | * In theory whenever we call a code block, we should | |||
| 7470 | * push a CXt_SUB context, then pop it on return from | |||
| 7471 | * that code block. This causes a bit of an issue in that | |||
| 7472 | * normally popping a context also clears the savestack | |||
| 7473 | * back to cx->blk_oldsaveix, but here we specifically | |||
| 7474 | * don't want to clear the save stack on exit from the | |||
| 7475 | * code block. | |||
| 7476 | * Also for efficiency we don't want to keep pushing and | |||
| 7477 | * popping the single SUB context as we backtrack etc. | |||
| 7478 | * So instead, we push a single context the first time | |||
| 7479 | * we need, it, then hang onto it until the end of this | |||
| 7480 | * function. Whenever we encounter a new code block, we | |||
| 7481 | * update the CV etc if that's changed. During the times | |||
| 7482 | * in this function where we're not executing a code | |||
| 7483 | * block, having the SUB context still there is a bit | |||
| 7484 | * naughty - but we hope that no-one notices. | |||
| 7485 | * When the SUB context is initially pushed, we fake up | |||
| 7486 | * cx->blk_oldsaveix to be as if we'd pushed this context | |||
| 7487 | * on first entry to S_regmatch rather than at some random | |||
| 7488 | * point during the regexe execution. That way if we | |||
| 7489 | * croak, popping the context stack will ensure that | |||
| 7490 | * *everything* SAVEd by this function is undone and then | |||
| 7491 | * the context popped, rather than e.g., popping the | |||
| 7492 | * context (and restoring the original PL_comppad) then | |||
| 7493 | * popping more of the savestack and restoring a bad | |||
| 7494 | * PL_comppad. | |||
| 7495 | */ | |||
| 7496 | ||||
| 7497 | /* If this is the first EVAL, push a MULTICALL. On | |||
| 7498 | * subsequent calls, if we're executing a different CV, or | |||
| 7499 | * if PL_comppad has got messed up from backtracking | |||
| 7500 | * through SAVECOMPPADs, then refresh the context. | |||
| 7501 | */ | |||
| 7502 | if (newcv != last_pushed_cv || PL_comppad != last_pad) | |||
| 7503 | { | |||
| 7504 | U8 flags = (CXp_SUB_RE0x40 | | |||
| 7505 | ((newcv == caller_cv) ? CXp_SUB_RE_FAKE0x80 : 0)); | |||
| 7506 | SAVECOMPPAD()Perl_save_pushptr( ((SV *)({ void *_p = (PL_comppad); _p; })) ,7); | |||
| 7507 | if (last_pushed_cv) { | |||
| 7508 | CHANGE_MULTICALL_FLAGS(newcv, flags)do { CV * const _nOnclAshIngNamE_ = newcv; CV * const cv = _nOnclAshIngNamE_ ; PADLIST * const padlist = (*(((!(((XPVCV*)({ void *_p = ((( CV*)(cv))->sv_any); _p; }))->xcv_flags & 0x0008)) ? (void)0 : __assert2("re_exec.c", 7508, __func__, "!(((XPVCV*)({ void *_p = (((CV*)(cv))->sv_any); _p; }))->xcv_flags & 0x0008)" )), &(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_padlist_u.xcv_padlist))); PERL_CONTEXT *cx = (&(PL_curstackinfo ->si_cxstack)[(PL_curstackinfo->si_cxix)]); ((((cx)-> cx_u.cx_subst.sbu_type & 0x10)) ? (void)0 : __assert2("re_exec.c" , 7508, __func__, "CxMULTICALL(cx)")); Perl_cx_popsub_common( cx); cx->cx_u.cx_subst.sbu_type = (9|0x10|flags); Perl_cx_pushsub ( cx,cv,((void*)0),0); if (!(flags & 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); do { if ((__builtin_expect(((PL_debug & 0x00004000 ) ? (_Bool)1 : (_Bool)0),(0)) && __builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)))) do {PerlIO_printf (Perl_PerlIO_stderr(), "Pad 0x%" "lx" "[0x%" "lx" "] set_cur depth=%d\n" , (UV)(PL_comppad), (UV)(PL_curpad), (int)((*Perl_CvDEPTH((const CV *)cv))));} while (0); } while (0);; multicall_cop = ((XPVCV *)({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_start ; } while (0); | |||
| 7509 | } | |||
| 7510 | else { | |||
| 7511 | PUSH_MULTICALL_FLAGS(newcv, flags)do { PERL_CONTEXT *cx; CV * const _nOnclAshIngNamE_ = newcv; CV * const cv = _nOnclAshIngNamE_; PADLIST * const padlist = (* (((!(((XPVCV*)({ void *_p = (((CV*)(cv))->sv_any); _p; })) ->xcv_flags & 0x0008)) ? (void)0 : __assert2("re_exec.c" , 7511, __func__, "!(((XPVCV*)({ void *_p = (((CV*)(cv))->sv_any); _p; }))->xcv_flags & 0x0008)" )), &(((XPVCV*)({ void *_p = ((cv)->sv_any); _p; }))-> xcv_padlist_u.xcv_padlist))); multicall_oldcatch = (PL_top_env ->je_mustcatch); do { if (__builtin_expect(((PL_debug & 0x00000004) ? (_Bool)1 : (_Bool)0),(0))) Perl_deb( "JUMPLEVEL set catch %d => %d (for %p) at %s:%d\n" , PL_top_env->je_mustcatch, (1), (void*)PL_top_env, "re_exec.c" , 7511); PL_top_env->je_mustcatch = ((1)); } while (0); do { PERL_SI *next = PL_curstackinfo->si_next; if (__builtin_expect (((PL_debug & 0x00000004) ? (_Bool)1 : (_Bool)0),(0))) { int i = 0; PERL_SI *p = PL_curstackinfo; while (p) { i++; p = p-> si_prev; } Perl_deb( "push STACKINFO %d at %s:%d\n", i, "re_exec.c" , 7511);} 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; PL_curstackinfo->si_markoff = PL_markstack_ptr - PL_markstack; } while (0); cx = Perl_cx_pushblock ( (9|0x10|flags),(U8)gimme,PL_stack_sp,PL_savestack_ix); Perl_cx_pushsub ( cx,cv,((void*)0),0); Perl_save_pushptr( (void *)(PL_op),18) ; if (!(flags & 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); do { if ( (__builtin_expect(((PL_debug & 0x00004000) ? (_Bool)1 : ( _Bool)0),(0)) && __builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)))) do {PerlIO_printf(Perl_PerlIO_stderr (), "Pad 0x%" "lx" "[0x%" "lx" "] set_cur depth=%d\n", (UV )(PL_comppad), (UV)(PL_curpad), (int)((*Perl_CvDEPTH((const CV *)cv))));} while (0); } while (0);; multicall_cop = ((XPVCV* )({ void *_p = ((cv)->sv_any); _p; }))->xcv_start_u.xcv_start ; } while (0); | |||
| 7512 | } | |||
| 7513 | /* see notes above */ | |||
| 7514 | CX_CUR()(&(PL_curstackinfo->si_cxstack)[(PL_curstackinfo->si_cxix )])->blk_oldsaveixcx_u.cx_blk.blku_oldsaveix = orig_savestack_ix; | |||
| 7515 | ||||
| 7516 | last_pushed_cv = newcv; | |||
| 7517 | } | |||
| 7518 | else { | |||
| 7519 | /* these assignments are just to silence compiler | |||
| 7520 | * warnings */ | |||
| 7521 | multicall_cop = NULL((void*)0); | |||
| 7522 | } | |||
| 7523 | last_pad = PL_comppad; | |||
| 7524 | ||||
| 7525 | /* the initial nextstate you would normally execute | |||
| 7526 | * at the start of an eval (which would cause error | |||
| 7527 | * messages to come from the eval), may be optimised | |||
| 7528 | * away from the execution path in the regex code blocks; | |||
| 7529 | * so manually set PL_curcop to it initially */ | |||
| 7530 | { | |||
| 7531 | OP *o = cUNOPx(nop)((UNOP*)(nop))->op_first; | |||
| 7532 | assert(o->op_type == OP_NULL)((o->op_type == OP_NULL) ? (void)0 : __assert2("re_exec.c" , 7532, __func__, "o->op_type == OP_NULL")); | |||
| 7533 | if (o->op_targ == OP_SCOPE) { | |||
| 7534 | o = cUNOPo((UNOP*)(o))->op_first; | |||
| 7535 | } | |||
| 7536 | else { | |||
| 7537 | assert(o->op_targ == OP_LEAVE)((o->op_targ == OP_LEAVE) ? (void)0 : __assert2("re_exec.c" , 7537, __func__, "o->op_targ == OP_LEAVE")); | |||
| 7538 | o = cUNOPo((UNOP*)(o))->op_first; | |||
| 7539 | assert(o->op_type == OP_ENTER)((o->op_type == OP_ENTER) ? (void)0 : __assert2("re_exec.c" , 7539, __func__, "o->op_type == OP_ENTER")); | |||
| 7540 | o = OpSIBLING(o)(0 + (o)->op_moresib ? (o)->op_sibparent : ((void*)0)); | |||
| 7541 | } | |||
| 7542 | ||||
| 7543 | if (o->op_type != OP_STUB) { | |||
| 7544 | assert( o->op_type == OP_NEXTSTATE((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )) | |||
| 7545 | || o->op_type == OP_DBSTATE((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )) | |||
| 7546 | || (o->op_type == OP_NULL((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )) | |||
| 7547 | && ( o->op_targ == OP_NEXTSTATE((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )) | |||
| 7548 | || o->op_targ == OP_DBSTATE((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )) | |||
| 7549 | )((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )) | |||
| 7550 | )((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )) | |||
| 7551 | )((o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )) ? (void)0 : __assert2("re_exec.c" , 7551, __func__, "o->op_type == OP_NEXTSTATE || o->op_type == OP_DBSTATE || (o->op_type == OP_NULL && ( o->op_targ == OP_NEXTSTATE || o->op_targ == OP_DBSTATE ) )" )); | |||
| 7552 | PL_curcop = (COP*)o; | |||
| 7553 | } | |||
| 7554 | } | |||
| 7555 | nop = nop->op_next; | |||
| 7556 | ||||
| 7557 | DEBUG_STATE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_printf ( " re EVAL PL_op=0x%" "lx" "\n", (UV)(nop));} while (0) | |||
| 7558 | " re EVAL PL_op=0x%" UVxf "\n", PTR2UV(nop)) )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_printf ( " re EVAL PL_op=0x%" "lx" "\n", (UV)(nop));} while (0); | |||
| 7559 | ||||
| 7560 | rex->offs[0].end = locinput - reginfo->strbeg; | |||
| 7561 | if (reginfo->info_aux_eval->pos_magic) | |||
| 7562 | MgBYTEPOS_set(reginfo->info_aux_eval->pos_magic,( (((reginfo->info_aux_eval->pos_magic)->mg_type == 'g' ) ? (void)0 : __assert2("re_exec.c", 7564, __func__, "(reginfo->info_aux_eval->pos_magic)->mg_type == 'g'" )), ((reginfo->sv)->sv_flags & 0x00000400) && (!((reginfo->sv)->sv_flags & 0x00200000) || Perl_sv_only_taint_gmagic (reginfo->sv)) ? (reginfo->info_aux_eval->pos_magic) ->mg_len = (locinput - reginfo->strbeg), (reginfo->info_aux_eval ->pos_magic)->mg_flags |= 0x40 : ((reginfo->info_aux_eval ->pos_magic)->mg_len = (((reginfo->sv)->sv_flags & 0x20000000) && !__builtin_expect(((((PL_curcop)-> cop_hints + 0) & 0x00000008) ? (_Bool)1 : (_Bool)0),(0))) ? (ssize_t)Perl_utf8_length( (U8 *)(reginfo->strbeg),(U8 * )(reginfo->strbeg)+(locinput - reginfo->strbeg)) : (ssize_t )(locinput - reginfo->strbeg), (reginfo->info_aux_eval-> pos_magic)->mg_flags &= ~0x40)) | |||
| 7563 | reginfo->sv, reginfo->strbeg,( (((reginfo->info_aux_eval->pos_magic)->mg_type == 'g' ) ? (void)0 : __assert2("re_exec.c", 7564, __func__, "(reginfo->info_aux_eval->pos_magic)->mg_type == 'g'" )), ((reginfo->sv)->sv_flags & 0x00000400) && (!((reginfo->sv)->sv_flags & 0x00200000) || Perl_sv_only_taint_gmagic (reginfo->sv)) ? (reginfo->info_aux_eval->pos_magic) ->mg_len = (locinput - reginfo->strbeg), (reginfo->info_aux_eval ->pos_magic)->mg_flags |= 0x40 : ((reginfo->info_aux_eval ->pos_magic)->mg_len = (((reginfo->sv)->sv_flags & 0x20000000) && !__builtin_expect(((((PL_curcop)-> cop_hints + 0) & 0x00000008) ? (_Bool)1 : (_Bool)0),(0))) ? (ssize_t)Perl_utf8_length( (U8 *)(reginfo->strbeg),(U8 * )(reginfo->strbeg)+(locinput - reginfo->strbeg)) : (ssize_t )(locinput - reginfo->strbeg), (reginfo->info_aux_eval-> pos_magic)->mg_flags &= ~0x40)) | |||
| 7564 | locinput - reginfo->strbeg)( (((reginfo->info_aux_eval->pos_magic)->mg_type == 'g' ) ? (void)0 : __assert2("re_exec.c", 7564, __func__, "(reginfo->info_aux_eval->pos_magic)->mg_type == 'g'" )), ((reginfo->sv)->sv_flags & 0x00000400) && (!((reginfo->sv)->sv_flags & 0x00200000) || Perl_sv_only_taint_gmagic (reginfo->sv)) ? (reginfo->info_aux_eval->pos_magic) ->mg_len = (locinput - reginfo->strbeg), (reginfo->info_aux_eval ->pos_magic)->mg_flags |= 0x40 : ((reginfo->info_aux_eval ->pos_magic)->mg_len = (((reginfo->sv)->sv_flags & 0x20000000) && !__builtin_expect(((((PL_curcop)-> cop_hints + 0) & 0x00000008) ? (_Bool)1 : (_Bool)0),(0))) ? (ssize_t)Perl_utf8_length( (U8 *)(reginfo->strbeg),(U8 * )(reginfo->strbeg)+(locinput - reginfo->strbeg)) : (ssize_t )(locinput - reginfo->strbeg), (reginfo->info_aux_eval-> pos_magic)->mg_flags &= ~0x40)); | |||
| 7565 | ||||
| 7566 | if (sv_yes_mark) { | |||
| 7567 | SV *sv_mrk = get_sv("REGMARK", 1)Perl_get_sv( "REGMARK",1); | |||
| 7568 | sv_setsv(sv_mrk, sv_yes_mark)Perl_sv_setsv_flags( sv_mrk,sv_yes_mark,2|0); | |||
| 7569 | } | |||
| 7570 | ||||
| 7571 | /* we don't use MULTICALL here as we want to call the | |||
| 7572 | * first op of the block of interest, rather than the | |||
| 7573 | * first op of the sub. Also, we don't want to free | |||
| 7574 | * the savestack frame */ | |||
| 7575 | before = (IV)(SPsp-PL_stack_base); | |||
| 7576 | PL_op = nop; | |||
| 7577 | CALLRUNOPSPL_runops(aTHX); /* Scalar context. */ | |||
| 7578 | SPAGAINsp = PL_stack_sp; | |||
| 7579 | if ((IV)(SPsp-PL_stack_base) == before) | |||
| 7580 | ret = &PL_sv_undef(PL_sv_immortals[1]); /* protect against empty (?{}) blocks. */ | |||
| 7581 | else { | |||
| 7582 | ret = POPs(*sp--); | |||
| 7583 | PUTBACKPL_stack_sp = sp; | |||
| 7584 | } | |||
| 7585 | ||||
| 7586 | /* before restoring everything, evaluate the returned | |||
| 7587 | * value, so that 'uninit' warnings don't use the wrong | |||
| 7588 | * PL_op or pad. Also need to process any magic vars | |||
| 7589 | * (e.g. $1) *before* parentheses are restored */ | |||
| 7590 | ||||
| 7591 | PL_op = NULL((void*)0); | |||
| 7592 | ||||
| 7593 | re_sv = NULL((void*)0); | |||
| 7594 | if (logical == 0) { /* (?{})/ */ | |||
| 7595 | SV *replsv = save_scalar(PL_replgv)Perl_save_scalar( PL_replgv); | |||
| 7596 | sv_setsv(replsv, ret)Perl_sv_setsv_flags( replsv,ret,2|0); /* $^R */ | |||
| 7597 | SvSETMAGIC(replsv)do { if (__builtin_expect(((((replsv)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( replsv); } while (0); | |||
| 7598 | } | |||
| 7599 | else if (logical == 1) { /* /(?(?{...})X|Y)/ */ | |||
| 7600 | sw = cBOOL(SvTRUE_NN(ret))(((((void)(__builtin_expect(((((ret)->sv_flags & 0x00200000 )) ? (_Bool)1 : (_Bool)0),(0)) && Perl_mg_get( ret))) , (( ((size_t)((ret) - &(PL_sv_immortals[0])) < 4) ? ( (ret) == &(PL_sv_immortals[0])) : !((ret)->sv_flags & (0x00000100|0x00000200|0x00000400|0x00000800| 0x00001000|0x00002000 |0x00004000|0x00008000)) ? 0 : ((ret)->sv_flags & 0x00000400 ) ? ( ((XPV*)((ret))->sv_any) && ( ((XPV*)((ret))-> sv_any)->xpv_cur > 1 || ( ((XPV*)((ret))->sv_any)-> xpv_cur && *(ret)->sv_u.svu_pv != '0' ) ) ) : ((ret )->sv_flags & 0x00000100) ? ((*({ const SV *const _svivx = (const SV *)(ret); ((PL_valid_types_IVX[((svtype)((_svivx) ->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2 ("re_exec.c", 7600, __func__, "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]" )); ((!((((_svivx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 7600, __func__ , "!isGV_with_GP(_svivx)")); &(((XPVIV*) ({ void *_p = (( _svivx)->sv_any); _p; }))->xiv_u.xivu_iv); })) != 0 ) : (((ret)->sv_flags & 0x00000800) && !( (((*({ SV *const _svrv = ((SV *)({ void *_p = (ret); _p; })); ((PL_valid_types_RV [((svtype)((_svrv)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 7600, __func__, "PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]" )); ((!((((_svrv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svrv)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 7600, __func__ , "!isGV_with_GP(_svrv)")); ((!(((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svrv)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 7600, __func__, "!(SvTYPE(_svrv) == SVt_PVIO && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))" )); &((_svrv)->sv_u.svu_rv); })))->sv_flags & 0x00100000 ) && (((*({ const SV *const _svstash = (const SV *)(( *({ SV *const _svrv = ((SV *)({ void *_p = (ret); _p; })); (( PL_valid_types_RV[((svtype)((_svrv)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7600, __func__ , "PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]")); ((!((( (_svrv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVLV)) ) ? (void)0 : __assert2("re_exec.c", 7600, __func__, "!isGV_with_GP(_svrv)" )); ((!(((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svrv)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 7600, __func__, "!(SvTYPE(_svrv) == SVt_PVIO && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))" )); &((_svrv)->sv_u.svu_rv); }))); ((((svtype)((_svstash )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 7600, __func__, "SvTYPE(_svstash) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svstash)->sv_any); _p ; }))->xmg_stash); })))->sv_flags & 0x10000000))) ? (1) : (Perl_sv_2bool_flags( ret,0)))))) ? (_Bool)1 : (_Bool) 0); | |||
| 7601 | logical = 0; | |||
| 7602 | } | |||
| 7603 | else { /* /(??{}) */ | |||
| 7604 | /* if its overloaded, let the regex compiler handle | |||
| 7605 | * it; otherwise extract regex, or stringify */ | |||
| 7606 | if (SvGMAGICAL(ret)((ret)->sv_flags & 0x00200000)) | |||
| 7607 | ret = sv_mortalcopy(ret)Perl_sv_mortalcopy_flags( ret, 2|0); | |||
| 7608 | if (!SvAMAGIC(ret)(((ret)->sv_flags & 0x00000800) && (((*({ SV * const _svrv = ((SV *)({ void *_p = (ret); _p; })); ((PL_valid_types_RV [((svtype)((_svrv)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 7608, __func__, "PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]" )); ((!((((_svrv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svrv)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 7608, __func__ , "!isGV_with_GP(_svrv)")); ((!(((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svrv)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 7608, __func__, "!(SvTYPE(_svrv) == SVt_PVIO && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))" )); &((_svrv)->sv_u.svu_rv); })))->sv_flags & 0x00100000 ) && (((*({ const SV *const _svstash = (const SV *)(( *({ SV *const _svrv = ((SV *)({ void *_p = (ret); _p; })); (( PL_valid_types_RV[((svtype)((_svrv)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7608, __func__ , "PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]")); ((!((( (_svrv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVLV)) ) ? (void)0 : __assert2("re_exec.c", 7608, __func__, "!isGV_with_GP(_svrv)" )); ((!(((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svrv)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 7608, __func__, "!(SvTYPE(_svrv) == SVt_PVIO && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))" )); &((_svrv)->sv_u.svu_rv); }))); ((((svtype)((_svstash )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 7608, __func__, "SvTYPE(_svstash) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svstash)->sv_any); _p ; }))->xmg_stash); })))->sv_flags & 0x10000000))) { | |||
| 7609 | SV *sv = ret; | |||
| 7610 | if (SvROK(sv)((sv)->sv_flags & 0x00000800)) | |||
| 7611 | sv = SvRV(sv)(*({ SV *const _svrv = ((SV *)({ void *_p = (sv); _p; })); (( PL_valid_types_RV[((svtype)((_svrv)->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7611, __func__ , "PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]")); ((!((( (_svrv)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVLV)) ) ? (void)0 : __assert2("re_exec.c", 7611, __func__, "!isGV_with_GP(_svrv)" )); ((!(((svtype)((_svrv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svrv)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 7611, __func__, "!(SvTYPE(_svrv) == SVt_PVIO && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP))" )); &((_svrv)->sv_u.svu_rv); })); | |||
| 7612 | if (SvTYPE(sv)((svtype)((sv)->sv_flags & 0xff)) == SVt_REGEXP) | |||
| 7613 | re_sv = (REGEXP*) sv; | |||
| 7614 | else if (SvSMAGICAL(ret)((ret)->sv_flags & 0x00400000)) { | |||
| 7615 | MAGIC *mg = mg_findPerl_mg_find(ret, PERL_MAGIC_qr'r'); | |||
| 7616 | if (mg) | |||
| 7617 | re_sv = (REGEXP *) mg->mg_obj; | |||
| 7618 | } | |||
| 7619 | ||||
| 7620 | /* force any undef warnings here */ | |||
| 7621 | if (!re_sv && !SvPOK(ret)((ret)->sv_flags & 0x00000400) && !SvNIOK(ret)((ret)->sv_flags & (0x00000100|0x00000200))) { | |||
| 7622 | ret = sv_mortalcopy(ret)Perl_sv_mortalcopy_flags( ret, 2|0); | |||
| 7623 | (void) SvPV_force_nolen(ret)((((ret)->sv_flags & (0x00000400|0x00000100|0x00000200 |0x00000800|0x00008000|(0x08000000|0x00010000|0x00000800|0x01000000 |0x00800000|0x10000000)|0x00200000)) == 0x00000400) ? (*({ SV *const _svpvx = ((SV *)({ void *_p = (ret); _p; })); ((PL_valid_types_PVX [((svtype)((_svpvx)->sv_flags & 0xff)) & 0x1f]) ? ( void)0 : __assert2("re_exec.c", 7623, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 7623, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 7623, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); })) : Perl_sv_pvn_force_flags ( ret,0,2)); | |||
| 7624 | } | |||
| 7625 | } | |||
| 7626 | ||||
| 7627 | } | |||
| 7628 | ||||
| 7629 | /* *** Note that at this point we don't restore | |||
| 7630 | * PL_comppad, (or pop the CxSUB) on the assumption it may | |||
| 7631 | * be used again soon. This is safe as long as nothing | |||
| 7632 | * in the regexp code uses the pad ! */ | |||
| 7633 | PL_op = oop; | |||
| 7634 | PL_curcop = ocurcop; | |||
| 7635 | regcp_restore(rex, ST.lastcp, &maxopenparen)S_regcp_restore( rex,ST.lastcp,&maxopenparen ,depth); | |||
| 7636 | PL_curpm_under = PL_curpm; | |||
| 7637 | PL_curpm = PL_reg_curpm; | |||
| 7638 | ||||
| 7639 | if (logical != 2) { | |||
| 7640 | PUSH_STATE_GOTO(EVAL_B, next, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 3); goto push_state ; | |||
| 7641 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 3); goto push_state ;; | |||
| 7642 | /* NOTREACHED */ | |||
| 7643 | } | |||
| 7644 | } | |||
| 7645 | ||||
| 7646 | /* only /(??{})/ from now on */ | |||
| 7647 | logical = 0; | |||
| 7648 | { | |||
| 7649 | /* extract RE object from returned value; compiling if | |||
| 7650 | * necessary */ | |||
| 7651 | ||||
| 7652 | if (re_sv) { | |||
| 7653 | re_sv = reg_temp_copy(NULL, re_sv)Perl_reg_temp_copy( ((void*)0),re_sv); | |||
| 7654 | } | |||
| 7655 | else { | |||
| 7656 | U32 pm_flags = 0; | |||
| 7657 | ||||
| 7658 | if (SvUTF8(ret)((ret)->sv_flags & 0x20000000) && IN_BYTES__builtin_expect(((((PL_curcop)->cop_hints + 0) & 0x00000008 ) ? (_Bool)1 : (_Bool)0),(0))) { | |||
| 7659 | /* In use 'bytes': make a copy of the octet | |||
| 7660 | * sequence, but without the flag on */ | |||
| 7661 | STRLEN len; | |||
| 7662 | const char *const p = SvPV(ret, len)((((ret)->sv_flags & (0x00000400|0x00200000)) == 0x00000400 ) ? ((len = (*({ const SV *const _svcur = (const SV *)(ret); ( (PL_valid_types_PVX[((svtype)((_svcur)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 7662, __func__ , "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]")); ((!( (((_svcur)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 7662, __func__, "!isGV_with_GP(_svcur)" )); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c", 7662, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); }))), (*({ SV *const _svpvx = ((SV *)({ void * _p = (ret); _p; })); ((PL_valid_types_PVX[((svtype)((_svpvx)-> sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2("re_exec.c" , 7662, __func__, "PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]" )); ((!((((_svpvx)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svpvx)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 7662, __func__ , "!isGV_with_GP(_svpvx)")); ((!(((svtype)((_svpvx)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svpvx)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 7662, __func__, "!(SvTYPE(_svpvx) == SVt_PVIO && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP))" )); &((_svpvx)->sv_u.svu_pv); }))) : Perl_sv_2pv_flags ( ret,&len,2)); | |||
| 7663 | ret = newSVpvn_flags(p, len, SVs_TEMP)Perl_newSVpvn_flags( p,len,0x00080000); | |||
| 7664 | } | |||
| 7665 | if (rex->intflags & PREGf_USE_RE_EVAL0x00000020) | |||
| 7666 | pm_flags |= PMf_USE_RE_EVAL(1U<<(((0 +12)+2)+16)); | |||
| 7667 | ||||
| 7668 | /* if we got here, it should be an engine which | |||
| 7669 | * supports compiling code blocks and stuff */ | |||
| 7670 | assert(rex->engine && rex->engine->op_comp)((rex->engine && rex->engine->op_comp) ? (void )0 : __assert2("re_exec.c", 7670, __func__, "rex->engine && rex->engine->op_comp" )); | |||
| 7671 | assert(!(scan->flags & ~RXf_PMf_COMPILETIME))((!(scan->flags & ~((1U << (0 +0))|(1U << ( 0 +1))|(1U << (0 +2))|(1U << (0 +3))|(1U << (0 +4))|(1U << (0 +6))|(1U << (0 +5))|(7U << (((0)+7)))|(1U<<(0 +10))))) ? (void)0 : __assert2("re_exec.c" , 7671, __func__, "!(scan->flags & ~RXf_PMf_COMPILETIME)" )); | |||
| 7672 | re_sv = rex->engine->op_comp(aTHX_ &ret, 1, NULL((void*)0), | |||
| 7673 | rex->engine, NULL((void*)0), NULL((void*)0), | |||
| 7674 | /* copy /msixn etc to inner pattern */ | |||
| 7675 | ARG2L(scan)((((struct regnode_2L *)scan)->arg2)), | |||
| 7676 | pm_flags); | |||
| 7677 | ||||
| 7678 | if (!(SvFLAGS(ret)(ret)->sv_flags | |||
| 7679 | & (SVs_TEMP0x00080000 | SVs_GMG0x00200000 | SVf_ROK0x00000800)) | |||
| 7680 | && (!SvPADTMP(ret)((ret)->sv_flags & (0x00020000)) || SvREADONLY(ret)((ret)->sv_flags & (0x08000000|0x00010000)))) { | |||
| 7681 | /* This isn't a first class regexp. Instead, it's | |||
| 7682 | caching a regexp onto an existing, Perl visible | |||
| 7683 | scalar. */ | |||
| 7684 | sv_magic(ret, MUTABLE_SV(re_sv), PERL_MAGIC_qr, 0, 0)Perl_sv_magic( ret,((SV *)({ void *_p = (re_sv); _p; })),'r', 0,0); | |||
| 7685 | } | |||
| 7686 | } | |||
| 7687 | SAVEFREESV(re_sv)Perl_save_pushptr( (void *)(((SV *)({ void *_p = (re_sv); _p; }))),11); | |||
| 7688 | re = ReANY(re_sv)Perl_ReANY((const REGEXP *)(re_sv)); | |||
| 7689 | } | |||
| 7690 | RXp_MATCH_COPIED_off(re)(((re)->extflags) &= ~(1U<<(((0 +12) + 2)+11))); | |||
| 7691 | re->subbeg = rex->subbeg; | |||
| 7692 | re->sublen = rex->sublen; | |||
| 7693 | re->suboffset = rex->suboffset; | |||
| 7694 | re->subcoffset = rex->subcoffset; | |||
| 7695 | re->lastparen = 0; | |||
| 7696 | re->lastcloseparen = 0; | |||
| 7697 | rei = RXi_GET(re)((regexp_internal *)((re)->pprivate)); | |||
| 7698 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( re_sv,utf8_target,locinput,reginfo->strend,"EVAL/GOSUB: Matching embedded" );;} while (0) | |||
| 7699 | debug_start_match(re_sv, utf8_target, locinput,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( re_sv,utf8_target,locinput,reginfo->strend,"EVAL/GOSUB: Matching embedded" );;} while (0) | |||
| 7700 | reginfo->strend, "EVAL/GOSUB: Matching embedded");do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( re_sv,utf8_target,locinput,reginfo->strend,"EVAL/GOSUB: Matching embedded" );;} while (0) | |||
| 7701 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) S_debug_start_match ( re_sv,utf8_target,locinput,reginfo->strend,"EVAL/GOSUB: Matching embedded" );;} while (0); | |||
| 7702 | startpoint = rei->program + 1; | |||
| 7703 | EVAL_CLOSE_PAREN_CLEAR(st)(st)->u.eval.close_paren = 0; /* ST.close_paren = 0; | |||
| 7704 | * close_paren only for GOSUB */ | |||
| 7705 | ST.prev_recurse_locinput= NULL((void*)0); /* only used for GOSUB */ | |||
| 7706 | /* Save all the seen positions so far. */ | |||
| 7707 | ST.cp = regcppush(rex, 0, maxopenparen)S_regcppush( rex,0,maxopenparen ,depth); | |||
| 7708 | REGCP_SET(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.lastcp = PL_savestack_ix; | |||
| 7709 | /* and set maxopenparen to 0, since we are starting a "fresh" match */ | |||
| 7710 | maxopenparen = 0; | |||
| 7711 | /* run the pattern returned from (??{...}) */ | |||
| 7712 | ||||
| 7713 | eval_recurse_doit: /* Share code with GOSUB below this line | |||
| 7714 | * At this point we expect the stack context to be | |||
| 7715 | * set up correctly */ | |||
| 7716 | ||||
| 7717 | /* invalidate the S-L poscache. We're now executing a | |||
| 7718 | * different set of WHILEM ops (and their associated | |||
| 7719 | * indexes) against the same string, so the bits in the | |||
| 7720 | * cache are meaningless. Setting maxiter to zero forces | |||
| 7721 | * the cache to be invalidated and zeroed before reuse. | |||
| 7722 | * XXX This is too dramatic a measure. Ideally we should | |||
| 7723 | * save the old cache and restore when running the outer | |||
| 7724 | * pattern again */ | |||
| 7725 | reginfo->poscache_maxiter = 0; | |||
| 7726 | ||||
| 7727 | /* the new regexp might have a different is_utf8_pat than we do */ | |||
| 7728 | is_utf8_pat = reginfo->is_utf8_pat = cBOOL(RX_UTF8(re_sv))((((re_sv)->sv_flags & 0x20000000)) ? (_Bool)1 : (_Bool )0); | |||
| 7729 | ||||
| 7730 | ST.prev_rex = rex_sv; | |||
| 7731 | ST.prev_curlyx = cur_curlyx; | |||
| 7732 | rex_sv = re_sv; | |||
| 7733 | SET_reg_curpm(rex_sv)if (reginfo->info_aux_eval) { (void)({ REGEXP *const _rerefcnt_inc = (rex_sv); ((((svtype)((_rerefcnt_inc)->sv_flags & 0xff )) == SVt_REGEXP) ? (void)0 : __assert2("re_exec.c", 7733, __func__ , "SvTYPE(_rerefcnt_inc) == SVt_REGEXP")); Perl_SvREFCNT_inc( ((SV *)({ void *_p = (_rerefcnt_inc); _p; }))); _rerefcnt_inc ; }); ({ REGEXP *const _rerefcnt_dec = (((PL_reg_curpm)->op_pmregexp )); Perl_SvREFCNT_dec( ((SV *)({ void *_p = (_rerefcnt_dec); _p ; }))); }); (((PL_reg_curpm))->op_pmregexp = ((rex_sv))); }; | |||
| 7734 | rex = re; | |||
| 7735 | rexi = rei; | |||
| 7736 | cur_curlyx = NULL((void*)0); | |||
| 7737 | ST.B = next; | |||
| 7738 | ST.prev_eval = cur_eval; | |||
| 7739 | cur_eval = st; | |||
| 7740 | /* now continue from first node in postoned RE */ | |||
| 7741 | PUSH_YES_STATE_GOTO(EVAL_postponed_AB, startpoint, locinput,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = startpoint; st->resume_state = (109 + 5); goto push_yes_state ; | |||
| 7742 | loceol, script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = startpoint; st->resume_state = (109 + 5); goto push_yes_state ;; | |||
| 7743 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 7743 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 7744 | } | |||
| 7745 | ||||
| 7746 | case EVAL_postponed_AB(109 + 5): /* cleanup after a successful (??{A})B */ | |||
| 7747 | /* note: this is called twice; first after popping B, then A */ | |||
| 7748 | DEBUG_STACK_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval ); };} while (0) | |||
| 7749 | Perl_re_exec_indentf( aTHX_ "EVAL_AB cur_eval=%p prev_eval=%p\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval ); };} while (0) | |||
| 7750 | depth, cur_eval, ST.prev_eval);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval ); };} while (0) | |||
| 7751 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval ); };} while (0); | |||
| 7752 | ||||
| 7753 | #define SET_RECURSE_LOCINPUT(STR,VAL)if ( cur_eval && cur_eval->u.eval.close_paren ) { do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool) 1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0); rex ->recurse_locinput[cur_eval->u.eval.close_paren - 1] = VAL ; }\ | |||
| 7754 | if ( cur_eval && CUR_EVALcur_eval->u.eval.close_paren ) {\ | |||
| 7755 | DEBUG_STACK_r({ \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0) | |||
| 7756 | Perl_re_exec_indentf( aTHX_ STR " GOSUB%d ce=%p recurse_locinput=%p\n",\do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0) | |||
| 7757 | depth, \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0) | |||
| 7758 | CUR_EVAL.close_paren - 1,\do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0) | |||
| 7759 | cur_eval, \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0) | |||
| 7760 | VAL); \do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0) | |||
| 7761 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( STR " GOSUB%d ce=%p recurse_locinput=%p\n", depth, cur_eval ->u.eval.close_paren - 1, cur_eval, VAL); };} while (0); \ | |||
| 7762 | rex->recurse_locinput[CUR_EVALcur_eval->u.eval.close_paren - 1] = VAL;\ | |||
| 7763 | } | |||
| 7764 | ||||
| 7765 | SET_RECURSE_LOCINPUT("EVAL_AB[before]", CUR_EVAL.prev_recurse_locinput)if ( cur_eval && cur_eval->u.eval.close_paren ) { do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool) 1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB[before]" " GOSUB%d ce=%p recurse_locinput=%p\n", depth , cur_eval->u.eval.close_paren - 1, cur_eval, cur_eval-> u.eval.prev_recurse_locinput); };} while (0); rex->recurse_locinput [cur_eval->u.eval.close_paren - 1] = cur_eval->u.eval.prev_recurse_locinput ; }; | |||
| 7766 | ||||
| 7767 | rex_sv = ST.prev_rex; | |||
| 7768 | is_utf8_pat = reginfo->is_utf8_pat = cBOOL(RX_UTF8(rex_sv))((((rex_sv)->sv_flags & 0x20000000)) ? (_Bool)1 : (_Bool )0); | |||
| 7769 | SET_reg_curpm(rex_sv)if (reginfo->info_aux_eval) { (void)({ REGEXP *const _rerefcnt_inc = (rex_sv); ((((svtype)((_rerefcnt_inc)->sv_flags & 0xff )) == SVt_REGEXP) ? (void)0 : __assert2("re_exec.c", 7769, __func__ , "SvTYPE(_rerefcnt_inc) == SVt_REGEXP")); Perl_SvREFCNT_inc( ((SV *)({ void *_p = (_rerefcnt_inc); _p; }))); _rerefcnt_inc ; }); ({ REGEXP *const _rerefcnt_dec = (((PL_reg_curpm)->op_pmregexp )); Perl_SvREFCNT_dec( ((SV *)({ void *_p = (_rerefcnt_dec); _p ; }))); }); (((PL_reg_curpm))->op_pmregexp = ((rex_sv))); }; | |||
| 7770 | rex = ReANY(rex_sv)Perl_ReANY((const REGEXP *)(rex_sv)); | |||
| 7771 | rexi = RXi_GET(rex)((regexp_internal *)((rex)->pprivate)); | |||
| 7772 | { | |||
| 7773 | /* preserve $^R across LEAVE's. See Bug 121070. */ | |||
| 7774 | SV *save_sv= GvSV(PL_replgv)((0+(*({GV *const _gvgp = (GV *) (PL_replgv); ((((svtype)((_gvgp )->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)-> sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c" , 7774, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 7774, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv); | |||
| 7775 | SV *replsv; | |||
| 7776 | SvREFCNT_inc(save_sv)Perl_SvREFCNT_inc(((SV *)({ void *_p = (save_sv); _p; }))); | |||
| 7777 | regcpblow(ST.cp)do { if (PL_savestack_ix > ST.cp) Perl_leave_scope( ST.cp) ; } while (0); /* LEAVE in disguise */ | |||
| 7778 | /* don't move this initialization up */ | |||
| 7779 | replsv = GvSV(PL_replgv)((0+(*({GV *const _gvgp = (GV *) (PL_replgv); ((((svtype)((_gvgp )->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)-> sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c" , 7779, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 7779, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv); | |||
| 7780 | sv_setsv(replsv, save_sv)Perl_sv_setsv_flags( replsv,save_sv,2|0); | |||
| 7781 | SvSETMAGIC(replsv)do { if (__builtin_expect(((((replsv)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( replsv); } while (0); | |||
| 7782 | SvREFCNT_dec(save_sv)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (save_sv); _p; }))); | |||
| 7783 | } | |||
| 7784 | cur_eval = ST.prev_eval; | |||
| 7785 | cur_curlyx = ST.prev_curlyx; | |||
| 7786 | ||||
| 7787 | /* Invalidate cache. See "invalidate" comment above. */ | |||
| 7788 | reginfo->poscache_maxiter = 0; | |||
| 7789 | if ( nochange_depth ) | |||
| 7790 | nochange_depth--; | |||
| 7791 | ||||
| 7792 | SET_RECURSE_LOCINPUT("EVAL_AB[after]", cur_eval->locinput)if ( cur_eval && cur_eval->u.eval.close_paren ) { do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool) 1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB[after]" " GOSUB%d ce=%p recurse_locinput=%p\n", depth , cur_eval->u.eval.close_paren - 1, cur_eval, cur_eval-> locinput); };} while (0); rex->recurse_locinput[cur_eval-> u.eval.close_paren - 1] = cur_eval->locinput; }; | |||
| 7793 | sayYESgoto yes; | |||
| 7794 | ||||
| 7795 | ||||
| 7796 | case EVAL_B_fail(109 + 4): /* unsuccessful B in (?{...})B */ | |||
| 7797 | REGCP_UNWIND(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.lastcp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.lastcp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.lastcp) Perl_leave_scope ( ST.lastcp); } while (0); | |||
| 7798 | sayNOgoto no; | |||
| 7799 | ||||
| 7800 | case EVAL_postponed_AB_fail(109 + 6): /* unsuccessfully ran A or B in (??{A})B */ | |||
| 7801 | /* note: this is called twice; first after popping B, then A */ | |||
| 7802 | DEBUG_STACK_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB_fail cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval); };} while (0) | |||
| 7803 | Perl_re_exec_indentf( aTHX_ "EVAL_AB_fail cur_eval=%p prev_eval=%p\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB_fail cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval); };} while (0) | |||
| 7804 | depth, cur_eval, ST.prev_eval);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB_fail cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval); };} while (0) | |||
| 7805 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB_fail cur_eval=%p prev_eval=%p\n", depth, cur_eval, ST.prev_eval); };} while (0); | |||
| 7806 | ||||
| 7807 | SET_RECURSE_LOCINPUT("EVAL_AB_fail[before]", CUR_EVAL.prev_recurse_locinput)if ( cur_eval && cur_eval->u.eval.close_paren ) { do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool) 1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB_fail[before]" " GOSUB%d ce=%p recurse_locinput=%p\n" , depth, cur_eval->u.eval.close_paren - 1, cur_eval, cur_eval ->u.eval.prev_recurse_locinput); };} while (0); rex->recurse_locinput [cur_eval->u.eval.close_paren - 1] = cur_eval->u.eval.prev_recurse_locinput ; }; | |||
| 7808 | ||||
| 7809 | rex_sv = ST.prev_rex; | |||
| 7810 | is_utf8_pat = reginfo->is_utf8_pat = cBOOL(RX_UTF8(rex_sv))((((rex_sv)->sv_flags & 0x20000000)) ? (_Bool)1 : (_Bool )0); | |||
| 7811 | SET_reg_curpm(rex_sv)if (reginfo->info_aux_eval) { (void)({ REGEXP *const _rerefcnt_inc = (rex_sv); ((((svtype)((_rerefcnt_inc)->sv_flags & 0xff )) == SVt_REGEXP) ? (void)0 : __assert2("re_exec.c", 7811, __func__ , "SvTYPE(_rerefcnt_inc) == SVt_REGEXP")); Perl_SvREFCNT_inc( ((SV *)({ void *_p = (_rerefcnt_inc); _p; }))); _rerefcnt_inc ; }); ({ REGEXP *const _rerefcnt_dec = (((PL_reg_curpm)->op_pmregexp )); Perl_SvREFCNT_dec( ((SV *)({ void *_p = (_rerefcnt_dec); _p ; }))); }); (((PL_reg_curpm))->op_pmregexp = ((rex_sv))); }; | |||
| 7812 | rex = ReANY(rex_sv)Perl_ReANY((const REGEXP *)(rex_sv)); | |||
| 7813 | rexi = RXi_GET(rex)((regexp_internal *)((rex)->pprivate)); | |||
| 7814 | ||||
| 7815 | REGCP_UNWIND(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.lastcp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.lastcp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.lastcp) Perl_leave_scope ( ST.lastcp); } while (0); | |||
| 7816 | regcppop(rex, &maxopenparen)S_regcppop( rex,&maxopenparen ,depth); | |||
| 7817 | cur_eval = ST.prev_eval; | |||
| 7818 | cur_curlyx = ST.prev_curlyx; | |||
| 7819 | ||||
| 7820 | /* Invalidate cache. See "invalidate" comment above. */ | |||
| 7821 | reginfo->poscache_maxiter = 0; | |||
| 7822 | if ( nochange_depth ) | |||
| 7823 | nochange_depth--; | |||
| 7824 | ||||
| 7825 | SET_RECURSE_LOCINPUT("EVAL_AB_fail[after]", cur_eval->locinput)if ( cur_eval && cur_eval->u.eval.close_paren ) { do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool) 1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "EVAL_AB_fail[after]" " GOSUB%d ce=%p recurse_locinput=%p\n" , depth, cur_eval->u.eval.close_paren - 1, cur_eval, cur_eval ->locinput); };} while (0); rex->recurse_locinput[cur_eval ->u.eval.close_paren - 1] = cur_eval->locinput; }; | |||
| 7826 | sayNO_SILENTgoto no_silent; | |||
| 7827 | #undef ST | |||
| 7828 | ||||
| 7829 | case OPEN63: /* ( */ | |||
| 7830 | n = ARG(scan)((((struct regnode_1 *)scan)->arg1)); /* which paren pair */ | |||
| 7831 | rex->offs[n].start_tmp = locinput - reginfo->strbeg; | |||
| 7832 | if (n > maxopenparen) | |||
| 7833 | maxopenparen = n; | |||
| 7834 | DEBUG_BUFFERS_r(Perl_re_exec_indentf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7835 | "OPEN: rex=0x%" UVxf " offs=0x%" UVxf ": \\%" UVuf ": set %" IVdf " tmp; maxopenparen=%" UVuf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7836 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7837 | PTR2UV(rex),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7838 | PTR2UV(rex->offs),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7839 | (UV)n,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7840 | (IV)rex->offs[n].start_tmp,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7841 | (UV)maxopenparendo {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0) | |||
| 7842 | ))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "OPEN: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" " tmp; maxopenparen=%" "lu" "\n", depth, (UV)(rex), (UV )(rex->offs), (UV)n, (IV)rex->offs[n].start_tmp, (UV)maxopenparen );} while (0); | |||
| 7843 | lastopen = n; | |||
| 7844 | break; | |||
| 7845 | ||||
| 7846 | case SROPEN65: /* (*SCRIPT_RUN: */ | |||
| 7847 | script_run_begin = (U8 *) locinput; | |||
| 7848 | break; | |||
| 7849 | ||||
| 7850 | ||||
| 7851 | case CLOSE64: /* ) */ | |||
| 7852 | n = ARG(scan)((((struct regnode_1 *)scan)->arg1)); /* which paren pair */ | |||
| 7853 | CLOSE_CAPTURE(n, rex->offs[n].start_tmp,rex->offs[n].start = rex->offs[n].start_tmp; rex->offs [n].end = locinput - reginfo->strbeg; if (n > rex->lastparen ) rex->lastparen = n; rex->lastcloseparen = n; do {if ( __builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool )0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)n, (IV)rex->offs[n].start, (IV)rex-> offs[n].end, (UV)rex->lastparen );} while (0) | |||
| 7854 | locinput - reginfo->strbeg)rex->offs[n].start = rex->offs[n].start_tmp; rex->offs [n].end = locinput - reginfo->strbeg; if (n > rex->lastparen ) rex->lastparen = n; rex->lastcloseparen = n; do {if ( __builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool )0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)n, (IV)rex->offs[n].start, (IV)rex-> offs[n].end, (UV)rex->lastparen );} while (0); | |||
| 7855 | if ( EVAL_CLOSE_PAREN_IS( cur_eval, n )( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ( n) + 1 ) ) ) ) | |||
| 7856 | goto fake_end; | |||
| 7857 | ||||
| 7858 | break; | |||
| 7859 | ||||
| 7860 | case SRCLOSE66: /* (*SCRIPT_RUN: ... ) */ | |||
| 7861 | ||||
| 7862 | if (! isSCRIPT_RUN(script_run_begin, (U8 *) locinput, utf8_target)Perl_isSCRIPT_RUN( script_run_begin,(U8 *) locinput,utf8_target )) | |||
| 7863 | { | |||
| 7864 | sayNOgoto no; | |||
| 7865 | } | |||
| 7866 | ||||
| 7867 | break; | |||
| 7868 | ||||
| 7869 | ||||
| 7870 | case ACCEPT98: /* (*ACCEPT) */ | |||
| 7871 | if (scan->flags) | |||
| 7872 | sv_yes_mark = MUTABLE_SV(rexi->data->data[ ARG( scan ) ])((SV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) ]); _p; })); | |||
| 7873 | if (ARG2L(scan)((((struct regnode_2L *)scan)->arg2))){ | |||
| 7874 | regnode *cursor; | |||
| 7875 | for (cursor=scan; | |||
| 7876 | cursor && OP(cursor)((cursor)->type)!=END0; | |||
| 7877 | cursor=regnext(cursor)Perl_regnext( cursor)) | |||
| 7878 | { | |||
| 7879 | if ( OP(cursor)((cursor)->type)==CLOSE64 ){ | |||
| 7880 | n = ARG(cursor)((((struct regnode_1 *)cursor)->arg1)); | |||
| 7881 | if ( n <= lastopen ) { | |||
| 7882 | CLOSE_CAPTURE(n, rex->offs[n].start_tmp,rex->offs[n].start = rex->offs[n].start_tmp; rex->offs [n].end = locinput - reginfo->strbeg; if (n > rex->lastparen ) rex->lastparen = n; rex->lastcloseparen = n; do {if ( __builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool )0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)n, (IV)rex->offs[n].start, (IV)rex-> offs[n].end, (UV)rex->lastparen );} while (0) | |||
| 7883 | locinput - reginfo->strbeg)rex->offs[n].start = rex->offs[n].start_tmp; rex->offs [n].end = locinput - reginfo->strbeg; if (n > rex->lastparen ) rex->lastparen = n; rex->lastcloseparen = n; do {if ( __builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool )0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)( rex->offs), (UV)n, (IV)rex->offs[n].start, (IV)rex-> offs[n].end, (UV)rex->lastparen );} while (0); | |||
| 7884 | if ( n == ARG(scan)((((struct regnode_1 *)scan)->arg1)) || EVAL_CLOSE_PAREN_IS(cur_eval, n)( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ( n) + 1 ) ) ) ) | |||
| 7885 | break; | |||
| 7886 | } | |||
| 7887 | } | |||
| 7888 | } | |||
| 7889 | } | |||
| 7890 | goto fake_end; | |||
| 7891 | /* NOTREACHED */ | |||
| 7892 | ||||
| 7893 | case GROUPP83: /* (?(1)) */ | |||
| 7894 | n = ARG(scan)((((struct regnode_1 *)scan)->arg1)); /* which paren pair */ | |||
| 7895 | sw = cBOOL(rex->lastparen >= n && rex->offs[n].end != -1)((rex->lastparen >= n && rex->offs[n].end != -1) ? (_Bool)1 : (_Bool)0); | |||
| 7896 | break; | |||
| 7897 | ||||
| 7898 | case GROUPPN93: /* (?(<name>)) */ | |||
| 7899 | /* reg_check_named_buff_matched returns 0 for no match */ | |||
| 7900 | sw = cBOOL(0 < reg_check_named_buff_matched(rex,scan))((0 < S_reg_check_named_buff_matched(rex,scan)) ? (_Bool)1 : (_Bool)0); | |||
| 7901 | break; | |||
| 7902 | ||||
| 7903 | case INSUBP94: /* (?(R)) */ | |||
| 7904 | n = ARG(scan)((((struct regnode_1 *)scan)->arg1)); | |||
| 7905 | /* this does not need to use EVAL_CLOSE_PAREN macros, as the arg | |||
| 7906 | * of SCAN is already set up as matches a eval.close_paren */ | |||
| 7907 | sw = cur_eval && (n == 0 || CUR_EVALcur_eval->u.eval.close_paren == n); | |||
| 7908 | break; | |||
| 7909 | ||||
| 7910 | case DEFINEP95: /* (?(DEFINE)) */ | |||
| 7911 | sw = 0; | |||
| 7912 | break; | |||
| 7913 | ||||
| 7914 | case IFTHEN82: /* (?(cond)A|B) */ | |||
| 7915 | reginfo->poscache_iter = reginfo->poscache_maxiter; /* Void cache */ | |||
| 7916 | if (sw) | |||
| 7917 | next = NEXTOPER(NEXTOPER(scan))((((scan) + 1)) + 1); | |||
| 7918 | else { | |||
| 7919 | next = scan + ARG(scan)((((struct regnode_1 *)scan)->arg1)); | |||
| 7920 | if (OP(next)((next)->type) == IFTHEN82) /* Fake one. */ | |||
| 7921 | next = NEXTOPER(NEXTOPER(next))((((next) + 1)) + 1); | |||
| 7922 | } | |||
| 7923 | break; | |||
| 7924 | ||||
| 7925 | case LOGICAL86: /* modifier for EVAL and IFMATCH */ | |||
| 7926 | logical = scan->flags; | |||
| 7927 | break; | |||
| 7928 | ||||
| 7929 | /******************************************************************* | |||
| 7930 | ||||
| 7931 | The CURLYX/WHILEM pair of ops handle the most generic case of the /A*B/ | |||
| 7932 | pattern, where A and B are subpatterns. (For simple A, CURLYM or | |||
| 7933 | STAR/PLUS/CURLY/CURLYN are used instead.) | |||
| 7934 | ||||
| 7935 | A*B is compiled as <CURLYX><A><WHILEM><B> | |||
| 7936 | ||||
| 7937 | On entry to the subpattern, CURLYX is called. This pushes a CURLYX | |||
| 7938 | state, which contains the current count, initialised to -1. It also sets | |||
| 7939 | cur_curlyx to point to this state, with any previous value saved in the | |||
| 7940 | state block. | |||
| 7941 | ||||
| 7942 | CURLYX then jumps straight to the WHILEM op, rather than executing A, | |||
| 7943 | since the pattern may possibly match zero times (i.e. it's a while {} loop | |||
| 7944 | rather than a do {} while loop). | |||
| 7945 | ||||
| 7946 | Each entry to WHILEM represents a successful match of A. The count in the | |||
| 7947 | CURLYX block is incremented, another WHILEM state is pushed, and execution | |||
| 7948 | passes to A or B depending on greediness and the current count. | |||
| 7949 | ||||
| 7950 | For example, if matching against the string a1a2a3b (where the aN are | |||
| 7951 | substrings that match /A/), then the match progresses as follows: (the | |||
| 7952 | pushed states are interspersed with the bits of strings matched so far): | |||
| 7953 | ||||
| 7954 | <CURLYX cnt=-1> | |||
| 7955 | <CURLYX cnt=0><WHILEM> | |||
| 7956 | <CURLYX cnt=1><WHILEM> a1 <WHILEM> | |||
| 7957 | <CURLYX cnt=2><WHILEM> a1 <WHILEM> a2 <WHILEM> | |||
| 7958 | <CURLYX cnt=3><WHILEM> a1 <WHILEM> a2 <WHILEM> a3 <WHILEM> | |||
| 7959 | <CURLYX cnt=3><WHILEM> a1 <WHILEM> a2 <WHILEM> a3 <WHILEM> b | |||
| 7960 | ||||
| 7961 | (Contrast this with something like CURLYM, which maintains only a single | |||
| 7962 | backtrack state: | |||
| 7963 | ||||
| 7964 | <CURLYM cnt=0> a1 | |||
| 7965 | a1 <CURLYM cnt=1> a2 | |||
| 7966 | a1 a2 <CURLYM cnt=2> a3 | |||
| 7967 | a1 a2 a3 <CURLYM cnt=3> b | |||
| 7968 | ) | |||
| 7969 | ||||
| 7970 | Each WHILEM state block marks a point to backtrack to upon partial failure | |||
| 7971 | of A or B, and also contains some minor state data related to that | |||
| 7972 | iteration. The CURLYX block, pointed to by cur_curlyx, contains the | |||
| 7973 | overall state, such as the count, and pointers to the A and B ops. | |||
| 7974 | ||||
| 7975 | This is complicated slightly by nested CURLYX/WHILEM's. Since cur_curlyx | |||
| 7976 | must always point to the *current* CURLYX block, the rules are: | |||
| 7977 | ||||
| 7978 | When executing CURLYX, save the old cur_curlyx in the CURLYX state block, | |||
| 7979 | and set cur_curlyx to point the new block. | |||
| 7980 | ||||
| 7981 | When popping the CURLYX block after a successful or unsuccessful match, | |||
| 7982 | restore the previous cur_curlyx. | |||
| 7983 | ||||
| 7984 | When WHILEM is about to execute B, save the current cur_curlyx, and set it | |||
| 7985 | to the outer one saved in the CURLYX block. | |||
| 7986 | ||||
| 7987 | When popping the WHILEM block after a successful or unsuccessful B match, | |||
| 7988 | restore the previous cur_curlyx. | |||
| 7989 | ||||
| 7990 | Here's an example for the pattern (AI* BI)*BO | |||
| 7991 | I and O refer to inner and outer, C and W refer to CURLYX and WHILEM: | |||
| 7992 | ||||
| 7993 | cur_ | |||
| 7994 | curlyx backtrack stack | |||
| 7995 | ------ --------------- | |||
| 7996 | NULL | |||
| 7997 | CO <CO prev=NULL> <WO> | |||
| 7998 | CI <CO prev=NULL> <WO> <CI prev=CO> <WI> ai | |||
| 7999 | CO <CO prev=NULL> <WO> <CI prev=CO> <WI> ai <WI prev=CI> bi | |||
| 8000 | NULL <CO prev=NULL> <WO> <CI prev=CO> <WI> ai <WI prev=CI> bi <WO prev=CO> bo | |||
| 8001 | ||||
| 8002 | At this point the pattern succeeds, and we work back down the stack to | |||
| 8003 | clean up, restoring as we go: | |||
| 8004 | ||||
| 8005 | CO <CO prev=NULL> <WO> <CI prev=CO> <WI> ai <WI prev=CI> bi | |||
| 8006 | CI <CO prev=NULL> <WO> <CI prev=CO> <WI> ai | |||
| 8007 | CO <CO prev=NULL> <WO> | |||
| 8008 | NULL | |||
| 8009 | ||||
| 8010 | *******************************************************************/ | |||
| 8011 | ||||
| 8012 | #define ST st->u.curlyx | |||
| 8013 | ||||
| 8014 | case CURLYX61: /* start of /A*B/ (for complex A) */ | |||
| 8015 | { | |||
| 8016 | /* No need to save/restore up to this paren */ | |||
| 8017 | I32 parenfloor = scan->flags; | |||
| 8018 | ||||
| 8019 | assert(next)((next) ? (void)0 : __assert2("re_exec.c", 8019, __func__, "next" )); /* keep Coverity happy */ | |||
| 8020 | if (OP(PREVOPER(next))((((next) - 1))->type) == NOTHING54) /* LONGJMP */ | |||
| 8021 | next += ARG(next)((((struct regnode_1 *)next)->arg1)); | |||
| 8022 | ||||
| 8023 | /* XXXX Probably it is better to teach regpush to support | |||
| 8024 | parenfloor > maxopenparen ... */ | |||
| 8025 | if (parenfloor > (I32)rex->lastparen) | |||
| 8026 | parenfloor = rex->lastparen; /* Pessimization... */ | |||
| 8027 | ||||
| 8028 | ST.prev_curlyx= cur_curlyx; | |||
| 8029 | cur_curlyx = st; | |||
| 8030 | ST.cp = PL_savestack_ix; | |||
| 8031 | ||||
| 8032 | /* these fields contain the state of the current curly. | |||
| 8033 | * they are accessed by subsequent WHILEMs */ | |||
| 8034 | ST.parenfloor = parenfloor; | |||
| 8035 | ST.me = scan; | |||
| 8036 | ST.B = next; | |||
| 8037 | ST.minmod = minmod; | |||
| 8038 | minmod = 0; | |||
| 8039 | ST.count = -1; /* this will be updated by WHILEM */ | |||
| 8040 | ST.lastloc = NULL((void*)0); /* this will be updated by WHILEM */ | |||
| 8041 | ||||
| 8042 | PUSH_YES_STATE_GOTO(CURLYX_end, PREVOPER(next), locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ((next) - 1); st->resume_state = (109 + 7); goto push_yes_state ; | |||
| 8043 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ((next) - 1); st->resume_state = (109 + 7); goto push_yes_state ;; | |||
| 8044 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8044 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8045 | } | |||
| 8046 | ||||
| 8047 | case CURLYX_end(109 + 7): /* just finished matching all of A*B */ | |||
| 8048 | cur_curlyx = ST.prev_curlyx; | |||
| 8049 | sayYESgoto yes; | |||
| 8050 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8050 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8051 | ||||
| 8052 | case CURLYX_end_fail(109 + 8): /* just failed to match all of A*B */ | |||
| 8053 | regcpblow(ST.cp)do { if (PL_savestack_ix > ST.cp) Perl_leave_scope( ST.cp) ; } while (0); | |||
| 8054 | cur_curlyx = ST.prev_curlyx; | |||
| 8055 | sayNOgoto no; | |||
| 8056 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8056 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8057 | ||||
| 8058 | ||||
| 8059 | #undef ST | |||
| 8060 | #define ST st->u.whilem | |||
| 8061 | ||||
| 8062 | case WHILEM62: /* just matched an A in /A*B/ (for complex A) */ | |||
| 8063 | { | |||
| 8064 | /* see the discussion above about CURLYX/WHILEM */ | |||
| 8065 | I32 n; | |||
| 8066 | int min, max; | |||
| 8067 | regnode *A; | |||
| 8068 | ||||
| 8069 | assert(cur_curlyx)((cur_curlyx) ? (void)0 : __assert2("re_exec.c", 8069, __func__ , "cur_curlyx")); /* keep Coverity happy */ | |||
| 8070 | ||||
| 8071 | min = ARG1(cur_curlyx->u.curlyx.me)((((struct regnode_2 *)cur_curlyx->u.curlyx.me)->arg1)); | |||
| 8072 | max = ARG2(cur_curlyx->u.curlyx.me)((((struct regnode_2 *)cur_curlyx->u.curlyx.me)->arg2)); | |||
| 8073 | A = NEXTOPER(cur_curlyx->u.curlyx.me)((cur_curlyx->u.curlyx.me) + 1) + EXTRA_STEP_2ARGS((sizeof(struct regnode_2)-1)/sizeof(struct regnode)); | |||
| 8074 | n = ++cur_curlyx->u.curlyx.count; /* how many A's matched */ | |||
| 8075 | ST.save_lastloc = cur_curlyx->u.curlyx.lastloc; | |||
| 8076 | ST.cache_offset = 0; | |||
| 8077 | ST.cache_mask = 0; | |||
| 8078 | ||||
| 8079 | ||||
| 8080 | DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_ "WHILEM: matched %ld out of %d..%d\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: matched %ld out of %d..%d\n", depth, (long)n, min, max);} while (0) | |||
| 8081 | depth, (long)n, min, max)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: matched %ld out of %d..%d\n", depth, (long)n, min, max);} while (0) | |||
| 8082 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: matched %ld out of %d..%d\n", depth, (long)n, min, max);} while (0); | |||
| 8083 | ||||
| 8084 | /* First just match a string of min A's. */ | |||
| 8085 | ||||
| 8086 | if (n < min) { | |||
| 8087 | ST.cp = regcppush(rex, cur_curlyx->u.curlyx.parenfloor, maxopenparen)S_regcppush( rex,cur_curlyx->u.curlyx.parenfloor,maxopenparen ,depth); | |||
| 8088 | cur_curlyx->u.curlyx.lastloc = locinput; | |||
| 8089 | REGCP_SET(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.lastcp = PL_savestack_ix; | |||
| 8090 | ||||
| 8091 | PUSH_STATE_GOTO(WHILEM_A_pre, A, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = A; st->resume_state = (109 + 9); goto push_state; | |||
| 8092 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = A; st->resume_state = (109 + 9); goto push_state;; | |||
| 8093 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8093 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8094 | } | |||
| 8095 | ||||
| 8096 | /* If degenerate A matches "", assume A done. */ | |||
| 8097 | ||||
| 8098 | if (locinput == cur_curlyx->u.curlyx.lastloc) { | |||
| 8099 | DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_ "WHILEM: empty match detected, trying continuation...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: empty match detected, trying continuation...\n", depth );} while (0) | |||
| 8100 | depth)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: empty match detected, trying continuation...\n", depth );} while (0) | |||
| 8101 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: empty match detected, trying continuation...\n", depth );} while (0); | |||
| 8102 | goto do_whilem_B_max; | |||
| 8103 | } | |||
| 8104 | ||||
| 8105 | /* super-linear cache processing. | |||
| 8106 | * | |||
| 8107 | * The idea here is that for certain types of CURLYX/WHILEM - | |||
| 8108 | * principally those whose upper bound is infinity (and | |||
| 8109 | * excluding regexes that have things like \1 and other very | |||
| 8110 | * non-regular expresssiony things), then if a pattern like | |||
| 8111 | * /....A*.../ fails and we backtrack to the WHILEM, then we | |||
| 8112 | * make a note that this particular WHILEM op was at string | |||
| 8113 | * position 47 (say) when the rest of pattern failed. Then, if | |||
| 8114 | * we ever find ourselves back at that WHILEM, and at string | |||
| 8115 | * position 47 again, we can just fail immediately rather than | |||
| 8116 | * running the rest of the pattern again. | |||
| 8117 | * | |||
| 8118 | * This is very handy when patterns start to go | |||
| 8119 | * 'super-linear', like in (a+)*(a+)*(a+)*, where you end up | |||
| 8120 | * with a combinatorial explosion of backtracking. | |||
| 8121 | * | |||
| 8122 | * The cache is implemented as a bit array, with one bit per | |||
| 8123 | * string byte position per WHILEM op (up to 16) - so its | |||
| 8124 | * between 0.25 and 2x the string size. | |||
| 8125 | * | |||
| 8126 | * To avoid allocating a poscache buffer every time, we do an | |||
| 8127 | * initially countdown; only after we have executed a WHILEM | |||
| 8128 | * op (string-length x #WHILEMs) times do we allocate the | |||
| 8129 | * cache. | |||
| 8130 | * | |||
| 8131 | * The top 4 bits of scan->flags byte say how many different | |||
| 8132 | * relevant CURLLYX/WHILEM op pairs there are, while the | |||
| 8133 | * bottom 4-bits is the identifying index number of this | |||
| 8134 | * WHILEM. | |||
| 8135 | */ | |||
| 8136 | ||||
| 8137 | if (scan->flags) { | |||
| 8138 | ||||
| 8139 | if (!reginfo->poscache_maxiter) { | |||
| 8140 | /* start the countdown: Postpone detection until we | |||
| 8141 | * know the match is not *that* much linear. */ | |||
| 8142 | reginfo->poscache_maxiter | |||
| 8143 | = (reginfo->strend - reginfo->strbeg + 1) | |||
| 8144 | * (scan->flags>>4); | |||
| 8145 | /* possible overflow for long strings and many CURLYX's */ | |||
| 8146 | if (reginfo->poscache_maxiter < 0) | |||
| 8147 | reginfo->poscache_maxiter = I32_MAX0x7fffffff; | |||
| 8148 | reginfo->poscache_iter = reginfo->poscache_maxiter; | |||
| 8149 | } | |||
| 8150 | ||||
| 8151 | if (reginfo->poscache_iter-- == 0) { | |||
| 8152 | /* initialise cache */ | |||
| 8153 | const SSize_tssize_t size = (reginfo->poscache_maxiter + 7)/8; | |||
| 8154 | regmatch_info_aux *const aux = reginfo->info_aux; | |||
| 8155 | if (aux->poscache) { | |||
| 8156 | if ((SSize_tssize_t)reginfo->poscache_size < size) { | |||
| 8157 | Renew(aux->poscache, size, char)(aux->poscache = ((void)(__builtin_expect(((((( sizeof(size_t ) < sizeof(size) || sizeof(char) > ((size_t)1 << 8 *(sizeof(size_t) - sizeof(size)))) ? (size_t)(size) : ((size_t )-1)/sizeof(char)) > ((size_t)-1)/sizeof(char))) ? (_Bool) 1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), ( char*)(Perl_safesysrealloc((void *)(aux->poscache),(size_t )((size)*sizeof(char)))))); | |||
| 8158 | reginfo->poscache_size = size; | |||
| 8159 | } | |||
| 8160 | Zero(aux->poscache, size, char)((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(size ) || sizeof(char) > ((size_t)1 << 8*(sizeof(size_t) - sizeof(size)))) ? (size_t)(size) : ((size_t)-1)/sizeof(char) ) > ((size_t)-1)/sizeof(char))) ? (_Bool)1 : (_Bool)0),(0) ) && (Perl_croak_memory_wrap(),0)), ((((void*)(aux-> poscache)) != 0) ? (void)0 : __assert2("re_exec.c", 8160, __func__ , "((void*)(aux->poscache)) != 0")), (void)memset((char*)( aux->poscache),0,(size) * sizeof(char))); | |||
| 8161 | } | |||
| 8162 | else { | |||
| 8163 | reginfo->poscache_size = size; | |||
| 8164 | Newxz(aux->poscache, size, char)(aux->poscache = ((void)(__builtin_expect(((((( sizeof(size_t ) < sizeof(size) || sizeof(char) > ((size_t)1 << 8 *(sizeof(size_t) - sizeof(size)))) ? (size_t)(size) : ((size_t )-1)/sizeof(char)) > ((size_t)-1)/sizeof(char))) ? (_Bool) 1 : (_Bool)0),(0)) && (Perl_croak_memory_wrap(),0)), ( char*)(Perl_safesyscalloc((size),sizeof(char))))); | |||
| 8165 | } | |||
| 8166 | DEBUG_EXECUTE_r( Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sWHILEM: Detected a super-linear match, switching on caching%s...\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 8167 | "%sWHILEM: Detected a super-linear match, switching on caching%s...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sWHILEM: Detected a super-linear match, switching on caching%s...\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 8168 | PL_colors[4], PL_colors[5])do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sWHILEM: Detected a super-linear match, switching on caching%s...\n" , PL_colors[4], PL_colors[5]);} while (0) | |||
| 8169 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sWHILEM: Detected a super-linear match, switching on caching%s...\n" , PL_colors[4], PL_colors[5]);} while (0); | |||
| 8170 | } | |||
| 8171 | ||||
| 8172 | if (reginfo->poscache_iter < 0) { | |||
| 8173 | /* have we already failed at this position? */ | |||
| 8174 | SSize_tssize_t offset, mask; | |||
| 8175 | ||||
| 8176 | reginfo->poscache_iter = -1; /* stop eventual underflow */ | |||
| 8177 | offset = (scan->flags & 0xf) - 1 | |||
| 8178 | + (locinput - reginfo->strbeg) | |||
| 8179 | * (scan->flags>>4); | |||
| 8180 | mask = 1 << (offset % 8); | |||
| 8181 | offset /= 8; | |||
| 8182 | if (reginfo->info_aux->poscache[offset] & mask) { | |||
| 8183 | DEBUG_EXECUTE_r( Perl_re_exec_indentf( aTHX_ "WHILEM: (cache) already tried at this position...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: (cache) already tried at this position...\n", depth );} while (0) | |||
| 8184 | depth)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: (cache) already tried at this position...\n", depth );} while (0) | |||
| 8185 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: (cache) already tried at this position...\n", depth );} while (0); | |||
| 8186 | cur_curlyx->u.curlyx.count--; | |||
| 8187 | sayNOgoto no; /* cache records failure */ | |||
| 8188 | } | |||
| 8189 | ST.cache_offset = offset; | |||
| 8190 | ST.cache_mask = mask; | |||
| 8191 | } | |||
| 8192 | } | |||
| 8193 | ||||
| 8194 | /* Prefer B over A for minimal matching. */ | |||
| 8195 | ||||
| 8196 | if (cur_curlyx->u.curlyx.minmod) { | |||
| 8197 | ST.save_curlyx = cur_curlyx; | |||
| 8198 | cur_curlyx = cur_curlyx->u.curlyx.prev_curlyx; | |||
| 8199 | PUSH_YES_STATE_GOTO(WHILEM_B_min, ST.save_curlyx->u.curlyx.B,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.save_curlyx->u.curlyx.B; st->resume_state = (109 + 15); goto push_yes_state; | |||
| 8200 | locinput, loceol, script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.save_curlyx->u.curlyx.B; st->resume_state = (109 + 15); goto push_yes_state;; | |||
| 8201 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8201 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8202 | } | |||
| 8203 | ||||
| 8204 | /* Prefer A over B for maximal matching. */ | |||
| 8205 | ||||
| 8206 | if (n < max) { /* More greed allowed? */ | |||
| 8207 | ST.cp = regcppush(rex, cur_curlyx->u.curlyx.parenfloor,S_regcppush( rex,cur_curlyx->u.curlyx.parenfloor,maxopenparen ,depth) | |||
| 8208 | maxopenparen)S_regcppush( rex,cur_curlyx->u.curlyx.parenfloor,maxopenparen ,depth); | |||
| 8209 | cur_curlyx->u.curlyx.lastloc = locinput; | |||
| 8210 | REGCP_SET(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.lastcp = PL_savestack_ix; | |||
| 8211 | PUSH_STATE_GOTO(WHILEM_A_max, A, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = A; st->resume_state = (109 + 13); goto push_state ; | |||
| 8212 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = A; st->resume_state = (109 + 13); goto push_state ;; | |||
| 8213 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8213 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8214 | } | |||
| 8215 | goto do_whilem_B_max; | |||
| 8216 | } | |||
| 8217 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8217 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8218 | ||||
| 8219 | case WHILEM_B_min(109 + 15): /* just matched B in a minimal match */ | |||
| 8220 | case WHILEM_B_max(109 + 17): /* just matched B in a maximal match */ | |||
| 8221 | cur_curlyx = ST.save_curlyx; | |||
| 8222 | sayYESgoto yes; | |||
| 8223 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8223 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8224 | ||||
| 8225 | case WHILEM_B_max_fail(109 + 18): /* just failed to match B in a maximal match */ | |||
| 8226 | cur_curlyx = ST.save_curlyx; | |||
| 8227 | cur_curlyx->u.curlyx.lastloc = ST.save_lastloc; | |||
| 8228 | cur_curlyx->u.curlyx.count--; | |||
| 8229 | CACHEsayNOif (ST.cache_mask) reginfo->info_aux->poscache[ST.cache_offset ] |= ST.cache_mask; goto no; | |||
| 8230 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8230 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8231 | ||||
| 8232 | case WHILEM_A_min_fail(109 + 12): /* just failed to match A in a minimal match */ | |||
| 8233 | /* FALLTHROUGH */ | |||
| 8234 | case WHILEM_A_pre_fail(109 + 10): /* just failed to match even minimal A */ | |||
| 8235 | REGCP_UNWIND(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.lastcp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.lastcp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.lastcp) Perl_leave_scope ( ST.lastcp); } while (0); | |||
| 8236 | regcppop(rex, &maxopenparen)S_regcppop( rex,&maxopenparen ,depth); | |||
| 8237 | cur_curlyx->u.curlyx.lastloc = ST.save_lastloc; | |||
| 8238 | cur_curlyx->u.curlyx.count--; | |||
| 8239 | CACHEsayNOif (ST.cache_mask) reginfo->info_aux->poscache[ST.cache_offset ] |= ST.cache_mask; goto no; | |||
| 8240 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8240 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8241 | ||||
| 8242 | case WHILEM_A_max_fail(109 + 14): /* just failed to match A in a maximal match */ | |||
| 8243 | REGCP_UNWIND(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.lastcp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.lastcp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.lastcp) Perl_leave_scope ( ST.lastcp); } while (0); | |||
| 8244 | regcppop(rex, &maxopenparen)S_regcppop( rex,&maxopenparen ,depth); /* Restore some previous $<digit>s? */ | |||
| 8245 | DEBUG_EXECUTE_r(Perl_re_exec_indentf( aTHX_ "WHILEM: failed, trying continuation...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: failed, trying continuation...\n", depth);} while ( 0) | |||
| 8246 | depth)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: failed, trying continuation...\n", depth);} while ( 0) | |||
| 8247 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: failed, trying continuation...\n", depth);} while ( 0); | |||
| 8248 | do_whilem_B_max: | |||
| 8249 | if (cur_curlyx->u.curlyx.count >= REG_INFTY0xffff | |||
| ||||
| 8250 | && ckWARN(WARN_REGEXP)Perl_ckwarn( (20 )) | |||
| 8251 | && !reginfo->warned) | |||
| 8252 | { | |||
| 8253 | reginfo->warned = TRUE(1); | |||
| 8254 | Perl_warner(aTHX_ packWARN(WARN_REGEXP)(20 ), | |||
| 8255 | "Complex regular subexpression recursion limit (%d) " | |||
| 8256 | "exceeded", | |||
| 8257 | REG_INFTY0xffff - 1); | |||
| 8258 | } | |||
| 8259 | ||||
| 8260 | /* now try B */ | |||
| 8261 | ST.save_curlyx = cur_curlyx; | |||
| 8262 | cur_curlyx = cur_curlyx->u.curlyx.prev_curlyx; | |||
| 8263 | PUSH_YES_STATE_GOTO(WHILEM_B_max, ST.save_curlyx->u.curlyx.B,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.save_curlyx->u.curlyx.B; st->resume_state = (109 + 17); goto push_yes_state; | |||
| 8264 | locinput, loceol, script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.save_curlyx->u.curlyx.B; st->resume_state = (109 + 17); goto push_yes_state;; | |||
| 8265 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8265 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8266 | ||||
| 8267 | case WHILEM_B_min_fail(109 + 16): /* just failed to match B in a minimal match */ | |||
| 8268 | cur_curlyx = ST.save_curlyx; | |||
| 8269 | ||||
| 8270 | if (cur_curlyx->u.curlyx.count >= /*max*/ARG2(cur_curlyx->u.curlyx.me)((((struct regnode_2 *)cur_curlyx->u.curlyx.me)->arg2))) { | |||
| 8271 | /* Maximum greed exceeded */ | |||
| 8272 | if (cur_curlyx->u.curlyx.count >= REG_INFTY0xffff | |||
| 8273 | && ckWARN(WARN_REGEXP)Perl_ckwarn( (20 )) | |||
| 8274 | && !reginfo->warned) | |||
| 8275 | { | |||
| 8276 | reginfo->warned = TRUE(1); | |||
| 8277 | Perl_warner(aTHX_ packWARN(WARN_REGEXP)(20 ), | |||
| 8278 | "Complex regular subexpression recursion " | |||
| 8279 | "limit (%d) exceeded", | |||
| 8280 | REG_INFTY0xffff - 1); | |||
| 8281 | } | |||
| 8282 | cur_curlyx->u.curlyx.count--; | |||
| 8283 | CACHEsayNOif (ST.cache_mask) reginfo->info_aux->poscache[ST.cache_offset ] |= ST.cache_mask; goto no; | |||
| 8284 | } | |||
| 8285 | ||||
| 8286 | DEBUG_EXECUTE_r(Perl_re_exec_indentf( aTHX_ "WHILEM: B min fail: trying longer...\n", depth)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: B min fail: trying longer...\n", depth);} while (0 ) | |||
| 8287 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "WHILEM: B min fail: trying longer...\n", depth);} while (0 ); | |||
| 8288 | /* Try grabbing another A and see if it helps. */ | |||
| 8289 | cur_curlyx->u.curlyx.lastloc = locinput; | |||
| 8290 | ST.cp = regcppush(rex, cur_curlyx->u.curlyx.parenfloor,S_regcppush( rex,cur_curlyx->u.curlyx.parenfloor,maxopenparen ,depth) | |||
| 8291 | maxopenparen)S_regcppush( rex,cur_curlyx->u.curlyx.parenfloor,maxopenparen ,depth); | |||
| 8292 | REGCP_SET(ST.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.lastcp = PL_savestack_ix; | |||
| 8293 | PUSH_STATE_GOTO(WHILEM_A_min,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ((ST.save_curlyx->u.curlyx.me) + 1) + ((sizeof(struct regnode_2)-1)/sizeof(struct regnode)); st->resume_state = (109 + 11); goto push_state; | |||
| 8294 | /*A*/ NEXTOPER(ST.save_curlyx->u.curlyx.me) + EXTRA_STEP_2ARGS,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ((ST.save_curlyx->u.curlyx.me) + 1) + ((sizeof(struct regnode_2)-1)/sizeof(struct regnode)); st->resume_state = (109 + 11); goto push_state; | |||
| 8295 | locinput, loceol, script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ((ST.save_curlyx->u.curlyx.me) + 1) + ((sizeof(struct regnode_2)-1)/sizeof(struct regnode)); st->resume_state = (109 + 11); goto push_state;; | |||
| 8296 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8296 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8297 | ||||
| 8298 | #undef ST | |||
| 8299 | #define ST st->u.branch | |||
| 8300 | ||||
| 8301 | case BRANCHJ78: /* /(...|A|...)/ with long next pointer */ | |||
| 8302 | next = scan + ARG(scan)((((struct regnode_1 *)scan)->arg1)); | |||
| 8303 | if (next == scan) | |||
| 8304 | next = NULL((void*)0); | |||
| 8305 | scan = NEXTOPER(scan)((scan) + 1); | |||
| 8306 | /* FALLTHROUGH */ | |||
| 8307 | ||||
| 8308 | case BRANCH39: /* /(...|A|...)/ */ | |||
| 8309 | scan = NEXTOPER(scan)((scan) + 1); /* scan now points to inner node */ | |||
| 8310 | ST.lastparen = rex->lastparen; | |||
| 8311 | ST.lastcloseparen = rex->lastcloseparen; | |||
| 8312 | ST.next_branch = next; | |||
| 8313 | REGCP_SET(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.cp = PL_savestack_ix; | |||
| 8314 | ||||
| 8315 | /* Now go into the branch */ | |||
| 8316 | if (has_cutgroup) { | |||
| 8317 | PUSH_YES_STATE_GOTO(BRANCH_next, scan, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = scan; st->resume_state = (109 + 19); goto push_yes_state ; | |||
| 8318 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = scan; st->resume_state = (109 + 19); goto push_yes_state ;; | |||
| 8319 | } else { | |||
| 8320 | PUSH_STATE_GOTO(BRANCH_next, scan, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = scan; st->resume_state = (109 + 19); goto push_state ; | |||
| 8321 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = scan; st->resume_state = (109 + 19); goto push_state ;; | |||
| 8322 | } | |||
| 8323 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8323 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8324 | ||||
| 8325 | case CUTGROUP104: /* /(*THEN)/ */ | |||
| 8326 | sv_yes_mark = st->u.mark.mark_name = scan->flags | |||
| 8327 | ? MUTABLE_SV(rexi->data->data[ ARG( scan ) ])((SV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) ]); _p; })) | |||
| 8328 | : NULL((void*)0); | |||
| 8329 | PUSH_STATE_GOTO(CUTGROUP_next, next, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 37); goto push_state ; | |||
| 8330 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 37); goto push_state ;; | |||
| 8331 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8331 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8332 | ||||
| 8333 | case CUTGROUP_next_fail(109 + 38): | |||
| 8334 | do_cutgroup = 1; | |||
| 8335 | no_final = 1; | |||
| 8336 | if (st->u.mark.mark_name) | |||
| 8337 | sv_commit = st->u.mark.mark_name; | |||
| 8338 | sayNOgoto no; | |||
| 8339 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8339 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8340 | ||||
| 8341 | case BRANCH_next(109 + 19): | |||
| 8342 | sayYESgoto yes; | |||
| 8343 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8343 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8344 | ||||
| 8345 | case BRANCH_next_fail(109 + 20): /* that branch failed; try the next, if any */ | |||
| 8346 | if (do_cutgroup) { | |||
| 8347 | do_cutgroup = 0; | |||
| 8348 | no_final = 0; | |||
| 8349 | } | |||
| 8350 | REGCP_UNWIND(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.cp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.cp) Perl_leave_scope ( ST.cp); } while (0); | |||
| 8351 | UNWIND_PAREN(ST.lastparen, ST.lastcloseparen)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(ST.lastparen), (UV)(rex->lastparen ), (UV)(ST.lastcloseparen) );} while (0); for (n = rex->lastparen ; n > ST.lastparen; n--) rex->offs[n].end = -1; rex-> lastparen = n; rex->lastcloseparen = ST.lastcloseparen;; | |||
| 8352 | scan = ST.next_branch; | |||
| 8353 | /* no more branches? */ | |||
| 8354 | if (!scan || (OP(scan)((scan)->type) != BRANCH39 && OP(scan)((scan)->type) != BRANCHJ78)) { | |||
| 8355 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sBRANCH failed...%s\n", depth, PL_colors[4], PL_colors[5] ); };} while (0) | |||
| 8356 | Perl_re_exec_indentf( aTHX_ "%sBRANCH failed...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sBRANCH failed...%s\n", depth, PL_colors[4], PL_colors[5] ); };} while (0) | |||
| 8357 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sBRANCH failed...%s\n", depth, PL_colors[4], PL_colors[5] ); };} while (0) | |||
| 8358 | PL_colors[4],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sBRANCH failed...%s\n", depth, PL_colors[4], PL_colors[5] ); };} while (0) | |||
| 8359 | PL_colors[5] );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sBRANCH failed...%s\n", depth, PL_colors[4], PL_colors[5] ); };} while (0) | |||
| 8360 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sBRANCH failed...%s\n", depth, PL_colors[4], PL_colors[5] ); };} while (0); | |||
| 8361 | sayNO_SILENTgoto no_silent; | |||
| 8362 | } | |||
| 8363 | continue; /* execute next BRANCH[J] op */ | |||
| 8364 | /* NOTREACHED */ | |||
| 8365 | ||||
| 8366 | case MINMOD85: /* next op will be non-greedy, e.g. A*? */ | |||
| 8367 | minmod = 1; | |||
| 8368 | break; | |||
| 8369 | ||||
| 8370 | #undef ST | |||
| 8371 | #define ST st->u.curlym | |||
| 8372 | ||||
| 8373 | case CURLYM60: /* /A{m,n}B/ where A is fixed-length */ | |||
| 8374 | ||||
| 8375 | /* This is an optimisation of CURLYX that enables us to push | |||
| 8376 | * only a single backtracking state, no matter how many matches | |||
| 8377 | * there are in {m,n}. It relies on the pattern being constant | |||
| 8378 | * length, with no parens to influence future backrefs | |||
| 8379 | */ | |||
| 8380 | ||||
| 8381 | ST.me = scan; | |||
| 8382 | scan = NEXTOPER(scan)((scan) + 1) + NODE_STEP_REGNODE1; | |||
| 8383 | ||||
| 8384 | ST.lastparen = rex->lastparen; | |||
| 8385 | ST.lastcloseparen = rex->lastcloseparen; | |||
| 8386 | ||||
| 8387 | /* if paren positive, emulate an OPEN/CLOSE around A */ | |||
| 8388 | if (ST.me->flags) { | |||
| 8389 | U32 paren = ST.me->flags; | |||
| 8390 | if (paren > maxopenparen) | |||
| 8391 | maxopenparen = paren; | |||
| 8392 | scan += NEXT_OFF(scan)((scan)->next_off); /* Skip former OPEN. */ | |||
| 8393 | } | |||
| 8394 | ST.A = scan; | |||
| 8395 | ST.B = next; | |||
| 8396 | ST.alen = 0; | |||
| 8397 | ST.count = 0; | |||
| 8398 | ST.minmod = minmod; | |||
| 8399 | minmod = 0; | |||
| 8400 | ST.c1 = CHRTEST_UNINIT-1001; | |||
| 8401 | REGCP_SET(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.cp = PL_savestack_ix; | |||
| 8402 | ||||
| 8403 | if (!(ST.minmod ? ARG1(ST.me)((((struct regnode_2 *)ST.me)->arg1)) : ARG2(ST.me)((((struct regnode_2 *)ST.me)->arg2)))) /* min/max */ | |||
| 8404 | goto curlym_do_B; | |||
| 8405 | ||||
| 8406 | curlym_do_A: /* execute the A in /A{m,n}B/ */ | |||
| 8407 | PUSH_YES_STATE_GOTO(CURLYM_A, ST.A, locinput, loceol, /* match A */pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.A; st->resume_state = (109 + 21); goto push_yes_state ; | |||
| 8408 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.A; st->resume_state = (109 + 21); goto push_yes_state ;; | |||
| 8409 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8409 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8410 | ||||
| 8411 | case CURLYM_A(109 + 21): /* we've just matched an A */ | |||
| 8412 | ST.count++; | |||
| 8413 | /* after first match, determine A's length: u.curlym.alen */ | |||
| 8414 | if (ST.count == 1) { | |||
| 8415 | if (reginfo->is_utf8_target) { | |||
| 8416 | char *s = st->locinput; | |||
| 8417 | while (s < locinput) { | |||
| 8418 | ST.alen++; | |||
| 8419 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 8420 | } | |||
| 8421 | } | |||
| 8422 | else { | |||
| 8423 | ST.alen = locinput - st->locinput; | |||
| 8424 | } | |||
| 8425 | if (ST.alen == 0) | |||
| 8426 | ST.count = ST.minmod ? ARG1(ST.me)((((struct regnode_2 *)ST.me)->arg1)) : ARG2(ST.me)((((struct regnode_2 *)ST.me)->arg2)); | |||
| 8427 | } | |||
| 8428 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM now matched %" "ld" " times, len=%" "ld" "...\n", depth , (IV) ST.count, (IV)ST.alen);} while (0) | |||
| 8429 | Perl_re_exec_indentf( aTHX_ "CURLYM now matched %" IVdf " times, len=%" IVdf "...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM now matched %" "ld" " times, len=%" "ld" "...\n", depth , (IV) ST.count, (IV)ST.alen);} while (0) | |||
| 8430 | depth, (IV) ST.count, (IV)ST.alen)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM now matched %" "ld" " times, len=%" "ld" "...\n", depth , (IV) ST.count, (IV)ST.alen);} while (0) | |||
| 8431 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM now matched %" "ld" " times, len=%" "ld" "...\n", depth , (IV) ST.count, (IV)ST.alen);} while (0); | |||
| 8432 | ||||
| 8433 | if (EVAL_CLOSE_PAREN_IS_TRUE(cur_eval,(U32)ST.me->flags)( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( (U32)ST.me->flags ) ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ((U32)ST.me->flags) + 1 ) ) )) | |||
| 8434 | goto fake_end; | |||
| 8435 | ||||
| 8436 | { | |||
| 8437 | I32 max = (ST.minmod ? ARG1(ST.me)((((struct regnode_2 *)ST.me)->arg1)) : ARG2(ST.me)((((struct regnode_2 *)ST.me)->arg2))); | |||
| 8438 | if ( max == REG_INFTY0xffff || ST.count < max ) | |||
| 8439 | goto curlym_do_A; /* try to match another A */ | |||
| 8440 | } | |||
| 8441 | goto curlym_do_B; /* try to match B */ | |||
| 8442 | ||||
| 8443 | case CURLYM_A_fail(109 + 22): /* just failed to match an A */ | |||
| 8444 | REGCP_UNWIND(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.cp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.cp) Perl_leave_scope ( ST.cp); } while (0); | |||
| 8445 | ||||
| 8446 | ||||
| 8447 | if (ST.minmod || ST.count < ARG1(ST.me)((((struct regnode_2 *)ST.me)->arg1)) /* min*/ | |||
| 8448 | || EVAL_CLOSE_PAREN_IS_TRUE(cur_eval,(U32)ST.me->flags)( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( (U32)ST.me->flags ) ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ((U32)ST.me->flags) + 1 ) ) )) | |||
| 8449 | sayNOgoto no; | |||
| 8450 | ||||
| 8451 | curlym_do_B: /* execute the B in /A{m,n}B/ */ | |||
| 8452 | if (ST.c1 == CHRTEST_UNINIT-1001) { | |||
| 8453 | /* calculate c1 and c2 for possible match of 1st char | |||
| 8454 | * following curly */ | |||
| 8455 | ST.c1 = ST.c2 = CHRTEST_VOID-1000; | |||
| 8456 | assert(ST.B)((ST.B) ? (void)0 : __assert2("re_exec.c", 8456, __func__, "ST.B" )); | |||
| 8457 | if (HAS_TEXT(ST.B)( (PL_regkind[((ST.B)->type)] == 40) || PL_regkind[((ST.B) ->type)] == 67 ) || JUMPABLE(ST.B)( ((ST.B)->type) == 63 || (((ST.B)->type) == 64 && !( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ( ((((struct regnode_1 *)ST.B)->arg1))) + 1 ) ) ) ) || ((ST. B)->type) == 84 || ((ST.B)->type) == 81 || ((ST.B)-> type) == 79 || ((ST.B)->type) == 57 || ((ST.B)->type) == 85 || ((ST.B)->type) == 105 || (PL_regkind[((ST.B)->type )] == 58 && ((((struct regnode_2 *)ST.B)->arg1)) > 0) )) { | |||
| 8458 | regnode *text_node = ST.B; | |||
| 8459 | if (! HAS_TEXT(text_node)( (PL_regkind[((text_node)->type)] == 40) || PL_regkind[(( text_node)->type)] == 67 )) | |||
| 8460 | FIND_NEXT_IMPT(text_node)do { while (( ((text_node)->type) == 63 || (((text_node)-> type) == 64 && !( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u .eval.close_paren ) == ( (((((struct regnode_1 *)text_node)-> arg1))) + 1 ) ) ) ) || ((text_node)->type) == 84 || ((text_node )->type) == 81 || ((text_node)->type) == 79 || ((text_node )->type) == 57 || ((text_node)->type) == 85 || ((text_node )->type) == 105 || (PL_regkind[((text_node)->type)] == 58 && ((((struct regnode_2 *)text_node)->arg1)) > 0) )) { const U16 type = ((text_node)->type); if (type == 81 || PL_regkind[type] == 58) text_node = ((((text_node) + 1 )) + 1); else if (type == 57) text_node = ((text_node) + 1); else if (type == 79) text_node = (text_node->flags == 0) ? ((( (text_node) + 1)) + 1) : text_node + ((((struct regnode_1 *)text_node )->arg1)); else text_node += ((text_node)->next_off); } } while (0); | |||
| 8461 | if (PL_regkind[OP(text_node)((text_node)->type)] == EXACT40) { | |||
| 8462 | if (! S_setup_EXACTISH_ST_c1_c2(aTHX_ | |||
| 8463 | text_node, &ST.c1, ST.c1_utf8, &ST.c2, ST.c2_utf8, | |||
| 8464 | reginfo)) | |||
| 8465 | { | |||
| 8466 | sayNOgoto no; | |||
| 8467 | } | |||
| 8468 | } | |||
| 8469 | } | |||
| 8470 | } | |||
| 8471 | ||||
| 8472 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM trying tail with matches=%" "ld" "...\n", depth, (IV )ST.count);} while (0) | |||
| 8473 | Perl_re_exec_indentf( aTHX_ "CURLYM trying tail with matches=%" IVdf "...\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM trying tail with matches=%" "ld" "...\n", depth, (IV )ST.count);} while (0) | |||
| 8474 | depth, (IV)ST.count)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM trying tail with matches=%" "ld" "...\n", depth, (IV )ST.count);} while (0) | |||
| 8475 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "CURLYM trying tail with matches=%" "ld" "...\n", depth, (IV )ST.count);} while (0); | |||
| 8476 | if (! NEXTCHR_IS_EOS(nextchr < 0) && ST.c1 != CHRTEST_VOID-1000) { | |||
| 8477 | if (! UTF8_IS_INVARIANT(nextchr)((((U64)(((UV) (((nextchr) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0))) && utf8_target) { | |||
| 8478 | ||||
| 8479 | /* (We can use memEQ and memNE in this file without | |||
| 8480 | * having to worry about one being shorter than the | |||
| 8481 | * other, since the first byte of each gives the | |||
| 8482 | * length of the character) */ | |||
| 8483 | if ( memNE(locinput, ST.c1_utf8, UTF8_SAFE_SKIP(locinput,(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8484, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0)) | |||
| 8484 | reginfo->strend))(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8484, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0)) | |||
| 8485 | && memNE(locinput, ST.c2_utf8, UTF8_SAFE_SKIP(locinput,(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c2_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8486, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0)) | |||
| 8486 | reginfo->strend))(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c2_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8486, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0))) | |||
| 8487 | { | |||
| 8488 | /* simulate B failing */ | |||
| 8489 | DEBUG_OPTIMISE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%" "lX" " c1=0x%" "lX" " c2=0x%" "lX" "\n", depth, Perl_valid_utf8_to_uvchr((U8 *) locinput, ( (void*)0)), Perl_valid_utf8_to_uvchr(ST.c1_utf8, ((void*)0)), Perl_valid_utf8_to_uvchr(ST.c2_utf8, ((void*)0)));} while (0 ) | |||
| 8490 | Perl_re_exec_indentf( aTHX_ "CURLYM Fast bail next target=0x%" UVXf " c1=0x%" UVXf " c2=0x%" UVXf "\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%" "lX" " c1=0x%" "lX" " c2=0x%" "lX" "\n", depth, Perl_valid_utf8_to_uvchr((U8 *) locinput, ( (void*)0)), Perl_valid_utf8_to_uvchr(ST.c1_utf8, ((void*)0)), Perl_valid_utf8_to_uvchr(ST.c2_utf8, ((void*)0)));} while (0 ) | |||
| 8491 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%" "lX" " c1=0x%" "lX" " c2=0x%" "lX" "\n", depth, Perl_valid_utf8_to_uvchr((U8 *) locinput, ( (void*)0)), Perl_valid_utf8_to_uvchr(ST.c1_utf8, ((void*)0)), Perl_valid_utf8_to_uvchr(ST.c2_utf8, ((void*)0)));} while (0 ) | |||
| 8492 | valid_utf8_to_uvchr((U8 *) locinput, NULL),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%" "lX" " c1=0x%" "lX" " c2=0x%" "lX" "\n", depth, Perl_valid_utf8_to_uvchr((U8 *) locinput, ( (void*)0)), Perl_valid_utf8_to_uvchr(ST.c1_utf8, ((void*)0)), Perl_valid_utf8_to_uvchr(ST.c2_utf8, ((void*)0)));} while (0 ) | |||
| 8493 | valid_utf8_to_uvchr(ST.c1_utf8, NULL),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%" "lX" " c1=0x%" "lX" " c2=0x%" "lX" "\n", depth, Perl_valid_utf8_to_uvchr((U8 *) locinput, ( (void*)0)), Perl_valid_utf8_to_uvchr(ST.c1_utf8, ((void*)0)), Perl_valid_utf8_to_uvchr(ST.c2_utf8, ((void*)0)));} while (0 ) | |||
| 8494 | valid_utf8_to_uvchr(ST.c2_utf8, NULL))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%" "lX" " c1=0x%" "lX" " c2=0x%" "lX" "\n", depth, Perl_valid_utf8_to_uvchr((U8 *) locinput, ( (void*)0)), Perl_valid_utf8_to_uvchr(ST.c1_utf8, ((void*)0)), Perl_valid_utf8_to_uvchr(ST.c2_utf8, ((void*)0)));} while (0 ) | |||
| 8495 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%" "lX" " c1=0x%" "lX" " c2=0x%" "lX" "\n", depth, Perl_valid_utf8_to_uvchr((U8 *) locinput, ( (void*)0)), Perl_valid_utf8_to_uvchr(ST.c1_utf8, ((void*)0)), Perl_valid_utf8_to_uvchr(ST.c2_utf8, ((void*)0)));} while (0 ); | |||
| 8496 | state_num = CURLYM_B_fail(109 + 24); | |||
| 8497 | goto reenter_switch; | |||
| 8498 | } | |||
| 8499 | } | |||
| 8500 | else if (nextchr != ST.c1 && nextchr != ST.c2) { | |||
| 8501 | /* simulate B failing */ | |||
| 8502 | DEBUG_OPTIMISE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%X c1=0x%X c2=0x%X\n", depth , (int) nextchr, ST.c1, ST.c2);} while (0) | |||
| 8503 | Perl_re_exec_indentf( aTHX_ "CURLYM Fast bail next target=0x%X c1=0x%X c2=0x%X\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%X c1=0x%X c2=0x%X\n", depth , (int) nextchr, ST.c1, ST.c2);} while (0) | |||
| 8504 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%X c1=0x%X c2=0x%X\n", depth , (int) nextchr, ST.c1, ST.c2);} while (0) | |||
| 8505 | (int) nextchr, ST.c1, ST.c2)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%X c1=0x%X c2=0x%X\n", depth , (int) nextchr, ST.c1, ST.c2);} while (0) | |||
| 8506 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x000002))) Perl_re_exec_indentf ( "CURLYM Fast bail next target=0x%X c1=0x%X c2=0x%X\n", depth , (int) nextchr, ST.c1, ST.c2);} while (0); | |||
| 8507 | state_num = CURLYM_B_fail(109 + 24); | |||
| 8508 | goto reenter_switch; | |||
| 8509 | } | |||
| 8510 | } | |||
| 8511 | ||||
| 8512 | if (ST.me->flags) { | |||
| 8513 | /* emulate CLOSE: mark current A as captured */ | |||
| 8514 | U32 paren = (U32)ST.me->flags; | |||
| 8515 | if (ST.count) { | |||
| 8516 | CLOSE_CAPTURE(paren,rex->offs[paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput, -ST.alen, (U8*)(-ST.alen >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8*)(locinput + -ST.alen)) - reginfo->strbeg; rex->offs[paren].end = locinput - reginfo->strbeg; if (paren > rex->lastparen) rex-> lastparen = paren; rex->lastcloseparen = paren; do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x0400000))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)(rex->offs), ( UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[paren ].end, (UV)rex->lastparen );} while (0) | |||
| 8517 | HOPc(locinput, -ST.alen) - reginfo->strbeg,rex->offs[paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput, -ST.alen, (U8*)(-ST.alen >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8*)(locinput + -ST.alen)) - reginfo->strbeg; rex->offs[paren].end = locinput - reginfo->strbeg; if (paren > rex->lastparen) rex-> lastparen = paren; rex->lastcloseparen = paren; do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x0400000))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)(rex->offs), ( UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[paren ].end, (UV)rex->lastparen );} while (0) | |||
| 8518 | locinput - reginfo->strbeg)rex->offs[paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput, -ST.alen, (U8*)(-ST.alen >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8*)(locinput + -ST.alen)) - reginfo->strbeg; rex->offs[paren].end = locinput - reginfo->strbeg; if (paren > rex->lastparen) rex-> lastparen = paren; rex->lastcloseparen = paren; do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x0400000))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)(rex->offs), ( UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[paren ].end, (UV)rex->lastparen );} while (0); | |||
| 8519 | } | |||
| 8520 | else | |||
| 8521 | rex->offs[paren].end = -1; | |||
| 8522 | ||||
| 8523 | if (EVAL_CLOSE_PAREN_IS_TRUE(cur_eval,(U32)ST.me->flags)( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( (U32)ST.me->flags ) ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ((U32)ST.me->flags) + 1 ) ) )) | |||
| 8524 | { | |||
| 8525 | if (ST.count) | |||
| 8526 | goto fake_end; | |||
| 8527 | else | |||
| 8528 | sayNOgoto no; | |||
| 8529 | } | |||
| 8530 | } | |||
| 8531 | ||||
| 8532 | PUSH_STATE_GOTO(CURLYM_B, ST.B, locinput, loceol, /* match B */pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.B; st->resume_state = (109 + 23); goto push_state ; | |||
| 8533 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.B; st->resume_state = (109 + 23); goto push_state ;; | |||
| 8534 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8534 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8535 | ||||
| 8536 | case CURLYM_B_fail(109 + 24): /* just failed to match a B */ | |||
| 8537 | REGCP_UNWIND(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.cp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.cp) Perl_leave_scope ( ST.cp); } while (0); | |||
| 8538 | UNWIND_PAREN(ST.lastparen, ST.lastcloseparen)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(ST.lastparen), (UV)(rex->lastparen ), (UV)(ST.lastcloseparen) );} while (0); for (n = rex->lastparen ; n > ST.lastparen; n--) rex->offs[n].end = -1; rex-> lastparen = n; rex->lastcloseparen = ST.lastcloseparen;; | |||
| 8539 | if (ST.minmod) { | |||
| 8540 | I32 max = ARG2(ST.me)((((struct regnode_2 *)ST.me)->arg2)); | |||
| 8541 | if (max != REG_INFTY0xffff && ST.count == max) | |||
| 8542 | sayNOgoto no; | |||
| 8543 | goto curlym_do_A; /* try to match a further A */ | |||
| 8544 | } | |||
| 8545 | /* backtrack one A */ | |||
| 8546 | if (ST.count == ARG1(ST.me)((((struct regnode_2 *)ST.me)->arg1)) /* min */) | |||
| 8547 | sayNOgoto no; | |||
| 8548 | ST.count--; | |||
| 8549 | SET_locinput(HOPc(locinput, -ST.alen))locinput = ((char *)(reginfo->is_utf8_target ? S_reghop3(( U8*)locinput, -ST.alen, (U8*)(-ST.alen >= 0 ? reginfo-> strend : reginfo->strbeg)) : (U8*)(locinput + -ST.alen))); nextchr = ((locinput < reginfo->strend) ? ((int)*(const U8*)(locinput)) : -10); | |||
| 8550 | goto curlym_do_B; /* try to match B */ | |||
| 8551 | ||||
| 8552 | #undef ST | |||
| 8553 | #define ST st->u.curly | |||
| 8554 | ||||
| 8555 | #define CURLY_SETPAREN(paren, success)if (paren) { if (success) { rex->offs[paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput, -1, (U8*)(-1 >= 0 ? reginfo->strend : reginfo->strbeg)) : (U8*)(locinput + -1)) - reginfo->strbeg; rex->offs[paren ].end = locinput - reginfo->strbeg; if (paren > rex-> lastparen) rex->lastparen = paren; rex->lastcloseparen = paren; do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000 ))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth , (UV)(rex), (UV)(rex->offs), (UV)paren, (IV)rex->offs[ paren].start, (IV)rex->offs[paren].end, (UV)rex->lastparen );} while (0); } else { rex->offs[paren].end = -1; rex-> lastparen = ST.lastparen; rex->lastcloseparen = ST.lastcloseparen ; } } \ | |||
| 8556 | if (paren) { \ | |||
| 8557 | if (success) { \ | |||
| 8558 | CLOSE_CAPTURE(paren, HOPc(locinput, -1) - reginfo->strbeg, \rex->offs[paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput, -1, (U8*)(-1 >= 0 ? reginfo-> strend : reginfo->strbeg)) : (U8*)(locinput + -1)) - reginfo ->strbeg; rex->offs[paren].end = locinput - reginfo-> strbeg; if (paren > rex->lastparen) rex->lastparen = paren; rex->lastcloseparen = paren; do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x0400000))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)(rex->offs), ( UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[paren ].end, (UV)rex->lastparen );} while (0) | |||
| 8559 | locinput - reginfo->strbeg)rex->offs[paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput, -1, (U8*)(-1 >= 0 ? reginfo-> strend : reginfo->strbeg)) : (U8*)(locinput + -1)) - reginfo ->strbeg; rex->offs[paren].end = locinput - reginfo-> strbeg; if (paren > rex->lastparen) rex->lastparen = paren; rex->lastcloseparen = paren; do {if (__builtin_expect (((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || ( re_debug_flags & (0x0400000))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth, (UV)(rex), (UV)(rex->offs), ( UV)paren, (IV)rex->offs[paren].start, (IV)rex->offs[paren ].end, (UV)rex->lastparen );} while (0); \ | |||
| 8560 | } \ | |||
| 8561 | else { \ | |||
| 8562 | rex->offs[paren].end = -1; \ | |||
| 8563 | rex->lastparen = ST.lastparen; \ | |||
| 8564 | rex->lastcloseparen = ST.lastcloseparen; \ | |||
| 8565 | } \ | |||
| 8566 | } | |||
| 8567 | ||||
| 8568 | case STAR56: /* /A*B/ where A is width 1 char */ | |||
| 8569 | ST.paren = 0; | |||
| 8570 | ST.min = 0; | |||
| 8571 | ST.max = REG_INFTY0xffff; | |||
| 8572 | scan = NEXTOPER(scan)((scan) + 1); | |||
| 8573 | goto repeat; | |||
| 8574 | ||||
| 8575 | case PLUS57: /* /A+B/ where A is width 1 char */ | |||
| 8576 | ST.paren = 0; | |||
| 8577 | ST.min = 1; | |||
| 8578 | ST.max = REG_INFTY0xffff; | |||
| 8579 | scan = NEXTOPER(scan)((scan) + 1); | |||
| 8580 | goto repeat; | |||
| 8581 | ||||
| 8582 | case CURLYN59: /* /(A){m,n}B/ where A is width 1 char */ | |||
| 8583 | ST.paren = scan->flags; /* Which paren to set */ | |||
| 8584 | ST.lastparen = rex->lastparen; | |||
| 8585 | ST.lastcloseparen = rex->lastcloseparen; | |||
| 8586 | if (ST.paren > maxopenparen) | |||
| 8587 | maxopenparen = ST.paren; | |||
| 8588 | ST.min = ARG1(scan)((((struct regnode_2 *)scan)->arg1)); /* min to match */ | |||
| 8589 | ST.max = ARG2(scan)((((struct regnode_2 *)scan)->arg2)); /* max to match */ | |||
| 8590 | scan = regnext(NEXTOPER(scan) + NODE_STEP_REGNODE)Perl_regnext( ((scan) + 1) + 1); | |||
| 8591 | ||||
| 8592 | /* handle the single-char capture called as a GOSUB etc */ | |||
| 8593 | if (EVAL_CLOSE_PAREN_IS_TRUE(cur_eval,(U32)ST.paren)( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( (U32)ST.paren ) ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ((U32)ST.paren) + 1 ) ) )) | |||
| 8594 | { | |||
| 8595 | char *li = locinput; | |||
| 8596 | if (!regrepeat(rex, &li, scan, loceol, reginfo, 1)S_regrepeat( rex,&li,scan,loceol,reginfo,1 ,depth)) | |||
| 8597 | sayNOgoto no; | |||
| 8598 | SET_locinput(li)locinput = (li); nextchr = ((locinput < reginfo->strend ) ? ((int)*(const U8*)(locinput)) : -10); | |||
| 8599 | goto fake_end; | |||
| 8600 | } | |||
| 8601 | ||||
| 8602 | goto repeat; | |||
| 8603 | ||||
| 8604 | case CURLY58: /* /A{m,n}B/ where A is width 1 char */ | |||
| 8605 | ST.paren = 0; | |||
| 8606 | ST.min = ARG1(scan)((((struct regnode_2 *)scan)->arg1)); /* min to match */ | |||
| 8607 | ST.max = ARG2(scan)((((struct regnode_2 *)scan)->arg2)); /* max to match */ | |||
| 8608 | scan = NEXTOPER(scan)((scan) + 1) + NODE_STEP_REGNODE1; | |||
| 8609 | repeat: | |||
| 8610 | /* | |||
| 8611 | * Lookahead to avoid useless match attempts | |||
| 8612 | * when we know what character comes next. | |||
| 8613 | * | |||
| 8614 | * Used to only do .*x and .*?x, but now it allows | |||
| 8615 | * for )'s, ('s and (?{ ... })'s to be in the way | |||
| 8616 | * of the quantifier and the EXACT-like node. -- japhy | |||
| 8617 | */ | |||
| 8618 | ||||
| 8619 | assert(ST.min <= ST.max)((ST.min <= ST.max) ? (void)0 : __assert2("re_exec.c", 8619 , __func__, "ST.min <= ST.max")); | |||
| 8620 | if (! HAS_TEXT(next)( (PL_regkind[((next)->type)] == 40) || PL_regkind[((next) ->type)] == 67 ) && ! JUMPABLE(next)( ((next)->type) == 63 || (((next)->type) == 64 && !( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u.eval.close_paren ) == ( ( ((((struct regnode_1 *)next)->arg1))) + 1 ) ) ) ) || ((next )->type) == 84 || ((next)->type) == 81 || ((next)->type ) == 79 || ((next)->type) == 57 || ((next)->type) == 85 || ((next)->type) == 105 || (PL_regkind[((next)->type) ] == 58 && ((((struct regnode_2 *)next)->arg1)) > 0) )) { | |||
| 8621 | ST.c1 = ST.c2 = CHRTEST_VOID-1000; | |||
| 8622 | } | |||
| 8623 | else { | |||
| 8624 | regnode *text_node = next; | |||
| 8625 | ||||
| 8626 | if (! HAS_TEXT(text_node)( (PL_regkind[((text_node)->type)] == 40) || PL_regkind[(( text_node)->type)] == 67 )) | |||
| 8627 | FIND_NEXT_IMPT(text_node)do { while (( ((text_node)->type) == 63 || (((text_node)-> type) == 64 && !( ( ( cur_eval ) ) && ( ( cur_eval )->u.eval.close_paren ) && ( ( ( cur_eval )->u .eval.close_paren ) == ( (((((struct regnode_1 *)text_node)-> arg1))) + 1 ) ) ) ) || ((text_node)->type) == 84 || ((text_node )->type) == 81 || ((text_node)->type) == 79 || ((text_node )->type) == 57 || ((text_node)->type) == 85 || ((text_node )->type) == 105 || (PL_regkind[((text_node)->type)] == 58 && ((((struct regnode_2 *)text_node)->arg1)) > 0) )) { const U16 type = ((text_node)->type); if (type == 81 || PL_regkind[type] == 58) text_node = ((((text_node) + 1 )) + 1); else if (type == 57) text_node = ((text_node) + 1); else if (type == 79) text_node = (text_node->flags == 0) ? ((( (text_node) + 1)) + 1) : text_node + ((((struct regnode_1 *)text_node )->arg1)); else text_node += ((text_node)->next_off); } } while (0); | |||
| 8628 | ||||
| 8629 | if (! HAS_TEXT(text_node)( (PL_regkind[((text_node)->type)] == 40) || PL_regkind[(( text_node)->type)] == 67 )) | |||
| 8630 | ST.c1 = ST.c2 = CHRTEST_VOID-1000; | |||
| 8631 | else { | |||
| 8632 | if ( PL_regkind[OP(text_node)((text_node)->type)] != EXACT40 ) { | |||
| 8633 | ST.c1 = ST.c2 = CHRTEST_VOID-1000; | |||
| 8634 | } | |||
| 8635 | else { | |||
| 8636 | if (! S_setup_EXACTISH_ST_c1_c2(aTHX_ | |||
| 8637 | text_node, &ST.c1, ST.c1_utf8, &ST.c2, ST.c2_utf8, | |||
| 8638 | reginfo)) | |||
| 8639 | { | |||
| 8640 | sayNOgoto no; | |||
| 8641 | } | |||
| 8642 | } | |||
| 8643 | } | |||
| 8644 | } | |||
| 8645 | ||||
| 8646 | ST.A = scan; | |||
| 8647 | ST.B = next; | |||
| 8648 | if (minmod) { | |||
| 8649 | char *li = locinput; | |||
| 8650 | minmod = 0; | |||
| 8651 | if (ST.min && | |||
| 8652 | regrepeat(rex, &li, ST.A, loceol, reginfo, ST.min)S_regrepeat( rex,&li,ST.A,loceol,reginfo,ST.min ,depth) | |||
| 8653 | < ST.min) | |||
| 8654 | sayNOgoto no; | |||
| 8655 | SET_locinput(li)locinput = (li); nextchr = ((locinput < reginfo->strend ) ? ((int)*(const U8*)(locinput)) : -10); | |||
| 8656 | ST.count = ST.min; | |||
| 8657 | REGCP_SET(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.cp = PL_savestack_ix; | |||
| 8658 | if (ST.c1 == CHRTEST_VOID-1000) | |||
| 8659 | goto curly_try_B_min; | |||
| 8660 | ||||
| 8661 | ST.oldloc = locinput; | |||
| 8662 | ||||
| 8663 | /* set ST.maxpos to the furthest point along the | |||
| 8664 | * string that could possibly match */ | |||
| 8665 | if (ST.max == REG_INFTY0xffff) { | |||
| 8666 | ST.maxpos = loceol - 1; | |||
| 8667 | if (utf8_target) | |||
| 8668 | while (UTF8_IS_CONTINUATION(*(U8*)ST.maxpos)(((( (sizeof(*(U8*)ST.maxpos) == 1) || !(((U64)((*(U8*)ST.maxpos ) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 8668 , __func__, "( (sizeof(*(U8*)ST.maxpos) == 1) || !(((U64)((*(U8*)ST.maxpos) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(U8*)ST.maxpos) == 1) || !(((U64)((*(U8* )ST.maxpos) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 8668, __func__, "( (sizeof(*(U8*)ST.maxpos) == 1) || !(((U64)((*(U8*)ST.maxpos) | 0)) & ~0xFF))" )), ((U8) ((*(U8*)ST.maxpos) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))) | |||
| 8669 | ST.maxpos--; | |||
| 8670 | } | |||
| 8671 | else if (utf8_target) { | |||
| 8672 | int m = ST.max - ST.min; | |||
| 8673 | for (ST.maxpos = locinput; | |||
| 8674 | m >0 && ST.maxpos < loceol; m--) | |||
| 8675 | ST.maxpos += UTF8SKIP(ST.maxpos)PL_utf8skip[*(const U8*)(ST.maxpos)]; | |||
| 8676 | } | |||
| 8677 | else { | |||
| 8678 | ST.maxpos = locinput + ST.max - ST.min; | |||
| 8679 | if (ST.maxpos >= loceol) | |||
| 8680 | ST.maxpos = loceol - 1; | |||
| 8681 | } | |||
| 8682 | goto curly_try_B_min_known; | |||
| 8683 | ||||
| 8684 | } | |||
| 8685 | else { | |||
| 8686 | /* avoid taking address of locinput, so it can remain | |||
| 8687 | * a register var */ | |||
| 8688 | char *li = locinput; | |||
| 8689 | ST.count = regrepeat(rex, &li, ST.A, loceol, reginfo, ST.max)S_regrepeat( rex,&li,ST.A,loceol,reginfo,ST.max ,depth); | |||
| 8690 | if (ST.count < ST.min) | |||
| 8691 | sayNOgoto no; | |||
| 8692 | SET_locinput(li)locinput = (li); nextchr = ((locinput < reginfo->strend ) ? ((int)*(const U8*)(locinput)) : -10); | |||
| 8693 | if ((ST.count > ST.min) | |||
| 8694 | && (PL_regkind[OP(ST.B)((ST.B)->type)] == EOL4) && (OP(ST.B)((ST.B)->type) != MEOL5)) | |||
| 8695 | { | |||
| 8696 | /* A{m,n} must come at the end of the string, there's | |||
| 8697 | * no point in backing off ... */ | |||
| 8698 | ST.min = ST.count; | |||
| 8699 | /* ...except that $ and \Z can match before *and* after | |||
| 8700 | newline at the end. Consider "\n\n" =~ /\n+\Z\n/. | |||
| 8701 | We may back off by one in this case. */ | |||
| 8702 | if (UCHARAT(locinput - 1)((int)*(const U8*)(locinput - 1)) == '\n' && OP(ST.B)((ST.B)->type) != EOS6) | |||
| 8703 | ST.min--; | |||
| 8704 | } | |||
| 8705 | REGCP_SET(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); ST.cp = PL_savestack_ix; | |||
| 8706 | goto curly_try_B_max; | |||
| 8707 | } | |||
| 8708 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8708 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8709 | ||||
| 8710 | case CURLY_B_min_fail(109 + 28): | |||
| 8711 | /* failed to find B in a non-greedy match. | |||
| 8712 | * Handles both cases where c1,c2 valid or not */ | |||
| 8713 | ||||
| 8714 | REGCP_UNWIND(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.cp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.cp) Perl_leave_scope ( ST.cp); } while (0); | |||
| 8715 | if (ST.paren) { | |||
| 8716 | UNWIND_PAREN(ST.lastparen, ST.lastcloseparen)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(ST.lastparen), (UV)(rex->lastparen ), (UV)(ST.lastcloseparen) );} while (0); for (n = rex->lastparen ; n > ST.lastparen; n--) rex->offs[n].end = -1; rex-> lastparen = n; rex->lastcloseparen = ST.lastcloseparen;; | |||
| 8717 | } | |||
| 8718 | ||||
| 8719 | if (ST.c1 == CHRTEST_VOID-1000) { | |||
| 8720 | /* failed -- move forward one */ | |||
| 8721 | char *li = locinput; | |||
| 8722 | if (!regrepeat(rex, &li, ST.A, loceol, reginfo, 1)S_regrepeat( rex,&li,ST.A,loceol,reginfo,1 ,depth)) { | |||
| 8723 | sayNOgoto no; | |||
| 8724 | } | |||
| 8725 | locinput = li; | |||
| 8726 | ST.count++; | |||
| 8727 | if (!( ST.count <= ST.max | |||
| 8728 | /* count overflow ? */ | |||
| 8729 | || (ST.max == REG_INFTY0xffff && ST.count > 0)) | |||
| 8730 | ) | |||
| 8731 | sayNOgoto no; | |||
| 8732 | } | |||
| 8733 | else { | |||
| 8734 | int n; | |||
| 8735 | /* Couldn't or didn't -- move forward. */ | |||
| 8736 | ST.oldloc = locinput; | |||
| 8737 | if (utf8_target) | |||
| 8738 | locinput += UTF8SKIP(locinput)PL_utf8skip[*(const U8*)(locinput)]; | |||
| 8739 | else | |||
| 8740 | locinput++; | |||
| 8741 | ST.count++; | |||
| 8742 | ||||
| 8743 | curly_try_B_min_known: | |||
| 8744 | /* find the next place where 'B' could work, then call B */ | |||
| 8745 | if (utf8_target) { | |||
| 8746 | n = (ST.oldloc == locinput) ? 0 : 1; | |||
| 8747 | if (ST.c1 == ST.c2) { | |||
| 8748 | /* set n to utf8_distance(oldloc, locinput) */ | |||
| 8749 | while ( locinput <= ST.maxpos | |||
| 8750 | && locinput < loceol | |||
| 8751 | && memNE(locinput, ST.c1_utf8,(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8752, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0)) | |||
| 8752 | UTF8_SAFE_SKIP(locinput, reginfo->strend))(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8752, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0))) | |||
| 8753 | { | |||
| 8754 | locinput += UTF8_SAFE_SKIP(locinput,((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8755, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)]))) | |||
| 8755 | reginfo->strend)((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8755, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)]))); | |||
| 8756 | n++; | |||
| 8757 | } | |||
| 8758 | } | |||
| 8759 | else { | |||
| 8760 | /* set n to utf8_distance(oldloc, locinput) */ | |||
| 8761 | while ( locinput <= ST.maxpos | |||
| 8762 | && locinput < loceol | |||
| 8763 | && memNE(locinput, ST.c1_utf8,(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8764, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0)) | |||
| 8764 | UTF8_SAFE_SKIP(locinput, reginfo->strend))(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8764, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0)) | |||
| 8765 | && memNE(locinput, ST.c2_utf8,(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c2_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8766, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0)) | |||
| 8766 | UTF8_SAFE_SKIP(locinput, reginfo->strend))(! (memcmp(((const void *) (locinput)), ((const void *) (ST.c2_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8766, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0))) | |||
| 8767 | { | |||
| 8768 | locinput += UTF8_SAFE_SKIP(locinput, reginfo->strend)((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8768, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)]))); | |||
| 8769 | n++; | |||
| 8770 | } | |||
| 8771 | } | |||
| 8772 | } | |||
| 8773 | else { /* Not utf8_target */ | |||
| 8774 | if (ST.c1 == ST.c2) { | |||
| 8775 | locinput = (char *) memchr(locinput, | |||
| 8776 | ST.c1, | |||
| 8777 | ST.maxpos + 1 - locinput); | |||
| 8778 | if (! locinput) { | |||
| 8779 | locinput = ST.maxpos + 1; | |||
| 8780 | } | |||
| 8781 | } | |||
| 8782 | else { | |||
| 8783 | U8 c1_c2_bits_differing = ST.c1 ^ ST.c2; | |||
| 8784 | ||||
| 8785 | if (! isPOWER_OF_2(c1_c2_bits_differing)((c1_c2_bits_differing) && ((c1_c2_bits_differing) & ((c1_c2_bits_differing)-1)) == 0)) { | |||
| 8786 | while ( locinput <= ST.maxpos | |||
| 8787 | && UCHARAT(locinput)((int)*(const U8*)(locinput)) != ST.c1 | |||
| 8788 | && UCHARAT(locinput)((int)*(const U8*)(locinput)) != ST.c2) | |||
| 8789 | { | |||
| 8790 | locinput++; | |||
| 8791 | } | |||
| 8792 | } | |||
| 8793 | else { | |||
| 8794 | /* If c1 and c2 only differ by a single bit, we can | |||
| 8795 | * avoid a conditional each time through the loop, | |||
| 8796 | * at the expense of a little preliminary setup and | |||
| 8797 | * an extra mask each iteration. By masking out | |||
| 8798 | * that bit, we match exactly two characters, c1 | |||
| 8799 | * and c2, and so we don't have to test for both. | |||
| 8800 | * On both ASCII and EBCDIC platforms, most of the | |||
| 8801 | * ASCII-range and Latin1-range folded equivalents | |||
| 8802 | * differ only in a single bit, so this is actually | |||
| 8803 | * the most common case. (e.g. 'A' 0x41 vs 'a' | |||
| 8804 | * 0x61). */ | |||
| 8805 | U8 c1_masked = ST.c1 &~ c1_c2_bits_differing; | |||
| 8806 | U8 c1_c2_mask = ~ c1_c2_bits_differing; | |||
| 8807 | while ( locinput <= ST.maxpos | |||
| 8808 | && (UCHARAT(locinput)((int)*(const U8*)(locinput)) & c1_c2_mask) | |||
| 8809 | != c1_masked) | |||
| 8810 | { | |||
| 8811 | locinput++; | |||
| 8812 | } | |||
| 8813 | } | |||
| 8814 | } | |||
| 8815 | n = locinput - ST.oldloc; | |||
| 8816 | } | |||
| 8817 | if (locinput > ST.maxpos) | |||
| 8818 | sayNOgoto no; | |||
| 8819 | if (n) { | |||
| 8820 | /* In /a{m,n}b/, ST.oldloc is at "a" x m, locinput is | |||
| 8821 | * at b; check that everything between oldloc and | |||
| 8822 | * locinput matches */ | |||
| 8823 | char *li = ST.oldloc; | |||
| 8824 | ST.count += n; | |||
| 8825 | if (regrepeat(rex, &li, ST.A, loceol, reginfo, n)S_regrepeat( rex,&li,ST.A,loceol,reginfo,n ,depth) < n) | |||
| 8826 | sayNOgoto no; | |||
| 8827 | assert(n == REG_INFTY || locinput == li)((n == 0xffff || locinput == li) ? (void)0 : __assert2("re_exec.c" , 8827, __func__, "n == REG_INFTY || locinput == li")); | |||
| 8828 | } | |||
| 8829 | } | |||
| 8830 | ||||
| 8831 | curly_try_B_min: | |||
| 8832 | CURLY_SETPAREN(ST.paren, ST.count)if (ST.paren) { if (ST.count) { rex->offs[ST.paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput , -1, (U8*)(-1 >= 0 ? reginfo->strend : reginfo->strbeg )) : (U8*)(locinput + -1)) - reginfo->strbeg; rex->offs [ST.paren].end = locinput - reginfo->strbeg; if (ST.paren > rex->lastparen) rex->lastparen = ST.paren; rex->lastcloseparen = ST.paren; do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000 ))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth , (UV)(rex), (UV)(rex->offs), (UV)ST.paren, (IV)rex->offs [ST.paren].start, (IV)rex->offs[ST.paren].end, (UV)rex-> lastparen );} while (0); } else { rex->offs[ST.paren].end = -1; rex->lastparen = ST.lastparen; rex->lastcloseparen = ST.lastcloseparen; } }; | |||
| 8833 | PUSH_STATE_GOTO(CURLY_B_min, ST.B, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.B; st->resume_state = (109 + 27); goto push_state ; | |||
| 8834 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.B; st->resume_state = (109 + 27); goto push_state ;; | |||
| 8835 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8835 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8836 | ||||
| 8837 | ||||
| 8838 | curly_try_B_max: | |||
| 8839 | /* a successful greedy match: now try to match B */ | |||
| 8840 | { | |||
| 8841 | bool_Bool could_match = locinput < loceol; | |||
| 8842 | ||||
| 8843 | /* If it could work, try it. */ | |||
| 8844 | if (ST.c1 != CHRTEST_VOID-1000 && could_match) { | |||
| 8845 | if (! UTF8_IS_INVARIANT(UCHARAT(locinput))((((U64)(((UV) (((((int)*(const U8*)(locinput))) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0))) && utf8_target) | |||
| 8846 | { | |||
| 8847 | could_match = memEQ(locinput, ST.c1_utf8,(memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8849, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0) | |||
| 8848 | UTF8_SAFE_SKIP(locinput,(memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8849, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0) | |||
| 8849 | reginfo->strend))(memcmp(((const void *) (locinput)), ((const void *) (ST.c1_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8849, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0) | |||
| 8850 | || memEQ(locinput, ST.c2_utf8,(memcmp(((const void *) (locinput)), ((const void *) (ST.c2_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8852, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0) | |||
| 8851 | UTF8_SAFE_SKIP(locinput,(memcmp(((const void *) (locinput)), ((const void *) (ST.c2_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8852, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0) | |||
| 8852 | reginfo->strend))(memcmp(((const void *) (locinput)), ((const void *) (ST.c2_utf8 )), ((((reginfo->strend) >= (locinput)) ? (void)0 : __assert2 ("re_exec.c", 8852, __func__, "(reginfo->strend) >= (locinput)" )), ((reginfo->strend) - (locinput)) <= 0 ? 0 : (((((reginfo ->strend) - (locinput)))<(PL_utf8skip[*(const U8*)(locinput )]))?(((reginfo->strend) - (locinput))):(PL_utf8skip[*(const U8*)(locinput)])))) == 0); | |||
| 8853 | } | |||
| 8854 | else { | |||
| 8855 | could_match = UCHARAT(locinput)((int)*(const U8*)(locinput)) == ST.c1 | |||
| 8856 | || UCHARAT(locinput)((int)*(const U8*)(locinput)) == ST.c2; | |||
| 8857 | } | |||
| 8858 | } | |||
| 8859 | if (ST.c1 == CHRTEST_VOID-1000 || could_match) { | |||
| 8860 | CURLY_SETPAREN(ST.paren, ST.count)if (ST.paren) { if (ST.count) { rex->offs[ST.paren].start = (char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput , -1, (U8*)(-1 >= 0 ? reginfo->strend : reginfo->strbeg )) : (U8*)(locinput + -1)) - reginfo->strbeg; rex->offs [ST.paren].end = locinput - reginfo->strbeg; if (ST.paren > rex->lastparen) rex->lastparen = ST.paren; rex->lastcloseparen = ST.paren; do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000 ))) Perl_re_exec_indentf( "CLOSE: rex=0x%" "lx" " offs=0x%" "lx" ": \\%" "lu" ": set %" "ld" "..%" "ld" " max: %" "lu" "\n", depth , (UV)(rex), (UV)(rex->offs), (UV)ST.paren, (IV)rex->offs [ST.paren].start, (IV)rex->offs[ST.paren].end, (UV)rex-> lastparen );} while (0); } else { rex->offs[ST.paren].end = -1; rex->lastparen = ST.lastparen; rex->lastcloseparen = ST.lastcloseparen; } }; | |||
| 8861 | PUSH_STATE_GOTO(CURLY_B_max, ST.B, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.B; st->resume_state = (109 + 29); goto push_state ; | |||
| 8862 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = ST.B; st->resume_state = (109 + 29); goto push_state ;; | |||
| 8863 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 8863 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 8864 | } | |||
| 8865 | } | |||
| 8866 | /* FALLTHROUGH */ | |||
| 8867 | ||||
| 8868 | case CURLY_B_max_fail(109 + 30): | |||
| 8869 | /* failed to find B in a greedy match */ | |||
| 8870 | ||||
| 8871 | REGCP_UNWIND(ST.cp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) if (ST.cp != PL_savestack_ix) Perl_re_exec_indentf( "Clearing an EVAL scope, savestack=%" "ld" "..%" "ld" "\n", depth, (IV)(ST.cp), (IV)PL_savestack_ix );} while (0); do { if (PL_savestack_ix > ST.cp) Perl_leave_scope ( ST.cp); } while (0); | |||
| 8872 | if (ST.paren) { | |||
| 8873 | UNWIND_PAREN(ST.lastparen, ST.lastcloseparen)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0400000))) Perl_re_exec_indentf ( "UNWIND_PAREN: rex=0x%" "lx" " offs=0x%" "lx" ": invalidate (%" "lu" "..%" "lu" "] set lcp: %" "lu" "\n", depth, (UV)(rex), ( UV)(rex->offs), (UV)(ST.lastparen), (UV)(rex->lastparen ), (UV)(ST.lastcloseparen) );} while (0); for (n = rex->lastparen ; n > ST.lastparen; n--) rex->offs[n].end = -1; rex-> lastparen = n; rex->lastcloseparen = ST.lastcloseparen;; | |||
| 8874 | } | |||
| 8875 | /* back up. */ | |||
| 8876 | if (--ST.count < ST.min) | |||
| 8877 | sayNOgoto no; | |||
| 8878 | locinput = HOPc(locinput, -1)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)locinput , -1, (U8*)(-1 >= 0 ? reginfo->strend : reginfo->strbeg )) : (U8*)(locinput + -1)); | |||
| 8879 | goto curly_try_B_max; | |||
| 8880 | ||||
| 8881 | #undef ST | |||
| 8882 | ||||
| 8883 | case END0: /* last op of main pattern */ | |||
| 8884 | fake_end: | |||
| 8885 | if (cur_eval) { | |||
| 8886 | /* we've just finished A in /(??{A})B/; now continue with B */ | |||
| 8887 | SET_RECURSE_LOCINPUT("FAKE-END[before]", CUR_EVAL.prev_recurse_locinput)if ( cur_eval && cur_eval->u.eval.close_paren ) { do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool) 1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "FAKE-END[before]" " GOSUB%d ce=%p recurse_locinput=%p\n", depth , cur_eval->u.eval.close_paren - 1, cur_eval, cur_eval-> u.eval.prev_recurse_locinput); };} while (0); rex->recurse_locinput [cur_eval->u.eval.close_paren - 1] = cur_eval->u.eval.prev_recurse_locinput ; }; | |||
| 8888 | st->u.eval.prev_rex = rex_sv; /* inner */ | |||
| 8889 | ||||
| 8890 | /* Save *all* the positions. */ | |||
| 8891 | st->u.eval.cp = regcppush(rex, 0, maxopenparen)S_regcppush( rex,0,maxopenparen ,depth); | |||
| 8892 | rex_sv = CUR_EVALcur_eval->u.eval.prev_rex; | |||
| 8893 | is_utf8_pat = reginfo->is_utf8_pat = cBOOL(RX_UTF8(rex_sv))((((rex_sv)->sv_flags & 0x20000000)) ? (_Bool)1 : (_Bool )0); | |||
| 8894 | SET_reg_curpm(rex_sv)if (reginfo->info_aux_eval) { (void)({ REGEXP *const _rerefcnt_inc = (rex_sv); ((((svtype)((_rerefcnt_inc)->sv_flags & 0xff )) == SVt_REGEXP) ? (void)0 : __assert2("re_exec.c", 8894, __func__ , "SvTYPE(_rerefcnt_inc) == SVt_REGEXP")); Perl_SvREFCNT_inc( ((SV *)({ void *_p = (_rerefcnt_inc); _p; }))); _rerefcnt_inc ; }); ({ REGEXP *const _rerefcnt_dec = (((PL_reg_curpm)->op_pmregexp )); Perl_SvREFCNT_dec( ((SV *)({ void *_p = (_rerefcnt_dec); _p ; }))); }); (((PL_reg_curpm))->op_pmregexp = ((rex_sv))); }; | |||
| 8895 | rex = ReANY(rex_sv)Perl_ReANY((const REGEXP *)(rex_sv)); | |||
| 8896 | rexi = RXi_GET(rex)((regexp_internal *)((rex)->pprivate)); | |||
| 8897 | ||||
| 8898 | st->u.eval.prev_curlyx = cur_curlyx; | |||
| 8899 | cur_curlyx = CUR_EVALcur_eval->u.eval.prev_curlyx; | |||
| 8900 | ||||
| 8901 | REGCP_SET(st->u.eval.lastcp)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) Perl_re_exec_indentf ( "Setting an EVAL scope, savestack=%" "ld" ",\n", depth, (IV )PL_savestack_ix );} while (0); st->u.eval.lastcp = PL_savestack_ix; | |||
| 8902 | ||||
| 8903 | /* Restore parens of the outer rex without popping the | |||
| 8904 | * savestack */ | |||
| 8905 | regcp_restore(rex, CUR_EVAL.lastcp, &maxopenparen)S_regcp_restore( rex,cur_eval->u.eval.lastcp,&maxopenparen ,depth); | |||
| 8906 | ||||
| 8907 | st->u.eval.prev_eval = cur_eval; | |||
| 8908 | cur_eval = CUR_EVALcur_eval->u.eval.prev_eval; | |||
| 8909 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "END: EVAL trying tail ... (cur_eval=%p)\n", depth, cur_eval );;} while (0) | |||
| 8910 | Perl_re_exec_indentf( aTHX_ "END: EVAL trying tail ... (cur_eval=%p)\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "END: EVAL trying tail ... (cur_eval=%p)\n", depth, cur_eval );;} while (0) | |||
| 8911 | depth, cur_eval);)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "END: EVAL trying tail ... (cur_eval=%p)\n", depth, cur_eval );;} while (0); | |||
| 8912 | if ( nochange_depth ) | |||
| 8913 | nochange_depth--; | |||
| 8914 | ||||
| 8915 | SET_RECURSE_LOCINPUT("FAKE-END[after]", cur_eval->locinput)if ( cur_eval && cur_eval->u.eval.close_paren ) { do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool) 1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { Perl_re_exec_indentf ( "FAKE-END[after]" " GOSUB%d ce=%p recurse_locinput=%p\n", depth , cur_eval->u.eval.close_paren - 1, cur_eval, cur_eval-> locinput); };} while (0); rex->recurse_locinput[cur_eval-> u.eval.close_paren - 1] = cur_eval->locinput; }; | |||
| 8916 | ||||
| 8917 | PUSH_YES_STATE_GOTO(EVAL_postponed_AB, /* match B */pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = st->u.eval.prev_eval->u.eval.B; st->resume_state = (109 + 5); goto push_yes_state; | |||
| 8918 | st->u.eval.prev_eval->u.eval.B,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = st->u.eval.prev_eval->u.eval.B; st->resume_state = (109 + 5); goto push_yes_state; | |||
| 8919 | locinput, loceol, script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = st->u.eval.prev_eval->u.eval.B; st->resume_state = (109 + 5); goto push_yes_state;; | |||
| 8920 | } | |||
| 8921 | ||||
| 8922 | if (locinput < reginfo->till) { | |||
| 8923 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n" , PL_colors[4], (long)(locinput - startpos), (long)(reginfo-> till - startpos), PL_colors[5]);} while (0) | |||
| 8924 | "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n" , PL_colors[4], (long)(locinput - startpos), (long)(reginfo-> till - startpos), PL_colors[5]);} while (0) | |||
| 8925 | PL_colors[4],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n" , PL_colors[4], (long)(locinput - startpos), (long)(reginfo-> till - startpos), PL_colors[5]);} while (0) | |||
| 8926 | (long)(locinput - startpos),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n" , PL_colors[4], (long)(locinput - startpos), (long)(reginfo-> till - startpos), PL_colors[5]);} while (0) | |||
| 8927 | (long)(reginfo->till - startpos),do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n" , PL_colors[4], (long)(locinput - startpos), (long)(reginfo-> till - startpos), PL_colors[5]);} while (0) | |||
| 8928 | PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sEND: Match possible, but length=%ld is smaller than requested=%ld, failing!%s\n" , PL_colors[4], (long)(locinput - startpos), (long)(reginfo-> till - startpos), PL_colors[5]);} while (0); | |||
| 8929 | ||||
| 8930 | sayNO_SILENTgoto no_silent; /* Cannot match: too short. */ | |||
| 8931 | } | |||
| 8932 | sayYESgoto yes; /* Success! */ | |||
| 8933 | ||||
| 8934 | case SUCCEED1: /* successful SUSPEND/UNLESSM/IFMATCH/CURLYM */ | |||
| 8935 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sSUCCEED: subpattern success...%s\n", depth, PL_colors[4] , PL_colors[5]);} while (0) | |||
| 8936 | Perl_re_exec_indentf( aTHX_ "%sSUCCEED: subpattern success...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sSUCCEED: subpattern success...%s\n", depth, PL_colors[4] , PL_colors[5]);} while (0) | |||
| 8937 | depth, PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sSUCCEED: subpattern success...%s\n", depth, PL_colors[4] , PL_colors[5]);} while (0); | |||
| 8938 | sayYESgoto yes; /* Success! */ | |||
| 8939 | ||||
| 8940 | #undef ST | |||
| 8941 | #define ST st->u.ifmatch | |||
| 8942 | ||||
| 8943 | case SUSPEND81: /* (?>A) */ | |||
| 8944 | ST.wanted = 1; | |||
| 8945 | ST.start = locinput; | |||
| 8946 | ST.end = loceol; | |||
| 8947 | ST.count = 1; | |||
| 8948 | goto do_ifmatch; | |||
| 8949 | ||||
| 8950 | case UNLESSM80: /* -ve lookaround: (?!A), or with 'flags', (?<!A) */ | |||
| 8951 | ST.wanted = 0; | |||
| 8952 | goto ifmatch_trivial_fail_test; | |||
| 8953 | ||||
| 8954 | case IFMATCH79: /* +ve lookaround: (?=A), or with 'flags', (?<=A) */ | |||
| 8955 | ST.wanted = 1; | |||
| 8956 | ifmatch_trivial_fail_test: | |||
| 8957 | ST.count = scan->next_off + 1; /* next_off repurposed to be | |||
| 8958 | lookbehind count, requires | |||
| 8959 | non-zero flags */ | |||
| 8960 | if (! scan->flags) { /* 'flags' zero means lookahed */ | |||
| 8961 | ||||
| 8962 | /* Lookahead starts here and ends at the normal place */ | |||
| 8963 | ST.start = locinput; | |||
| 8964 | ST.end = loceol; | |||
| 8965 | } | |||
| 8966 | else { | |||
| 8967 | PERL_UINT_FAST8_T back_count = scan->flags; | |||
| 8968 | char * s; | |||
| 8969 | ||||
| 8970 | /* Lookbehind can look beyond the current position */ | |||
| 8971 | ST.end = loceol; | |||
| 8972 | ||||
| 8973 | /* ... and starts at the first place in the input that is in | |||
| 8974 | * the range of the possible start positions */ | |||
| 8975 | for (; ST.count > 0; ST.count--, back_count--) { | |||
| 8976 | s = HOPBACKc(locinput, back_count)((char*)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)locinput , (ssize_t)0-back_count, (U8*)(reginfo->strbeg)) : (locinput - back_count >= reginfo->strbeg) ? (U8*)locinput - back_count : ((void*)0))); | |||
| 8977 | if (s) { | |||
| 8978 | ST.start = s; | |||
| 8979 | goto do_ifmatch; | |||
| 8980 | } | |||
| 8981 | } | |||
| 8982 | ||||
| 8983 | /* If the lookbehind doesn't start in the actual string, is a | |||
| 8984 | * trivial match failure */ | |||
| 8985 | if (logical) { | |||
| 8986 | logical = 0; | |||
| 8987 | sw = 1 - cBOOL(ST.wanted)((ST.wanted) ? (_Bool)1 : (_Bool)0); | |||
| 8988 | } | |||
| 8989 | else if (ST.wanted) | |||
| 8990 | sayNOgoto no; | |||
| 8991 | ||||
| 8992 | /* Here, we didn't want it to match, so is actually success */ | |||
| 8993 | next = scan + ARG(scan)((((struct regnode_1 *)scan)->arg1)); | |||
| 8994 | if (next == scan) | |||
| 8995 | next = NULL((void*)0); | |||
| 8996 | break; | |||
| 8997 | } | |||
| 8998 | ||||
| 8999 | do_ifmatch: | |||
| 9000 | ST.me = scan; | |||
| 9001 | ST.logical = logical; | |||
| 9002 | logical = 0; /* XXX: reset state of logical once it has been saved into ST */ | |||
| 9003 | ||||
| 9004 | /* execute body of (?...A) */ | |||
| 9005 | PUSH_YES_STATE_GOTO(IFMATCH_A, NEXTOPER(NEXTOPER(scan)), ST.start,pushinput = ST.start; pusheol = ST.end; pushsr0 = script_run_begin ; scan = ((((scan) + 1)) + 1); st->resume_state = (109 + 25 ); goto push_yes_state; | |||
| 9006 | ST.end, script_run_begin)pushinput = ST.start; pusheol = ST.end; pushsr0 = script_run_begin ; scan = ((((scan) + 1)) + 1); st->resume_state = (109 + 25 ); goto push_yes_state;; | |||
| 9007 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9007 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9008 | ||||
| 9009 | { | |||
| 9010 | bool_Bool matched; | |||
| 9011 | ||||
| 9012 | case IFMATCH_A_fail(109 + 26): /* body of (?...A) failed */ | |||
| 9013 | if (! ST.logical && ST.count > 1) { | |||
| 9014 | ||||
| 9015 | /* It isn't a real failure until we've tried all starting | |||
| 9016 | * positions. Move to the next starting position and retry */ | |||
| 9017 | ST.count--; | |||
| 9018 | ST.start = HOPc(ST.start, 1)(char *)(reginfo->is_utf8_target ? S_reghop3((U8*)ST.start , 1, (U8*)(1 >= 0 ? reginfo->strend : reginfo->strbeg )) : (U8*)(ST.start + 1)); | |||
| 9019 | scan = ST.me; | |||
| 9020 | logical = ST.logical; | |||
| 9021 | goto do_ifmatch; | |||
| 9022 | } | |||
| 9023 | ||||
| 9024 | /* Here, all starting positions have been tried. */ | |||
| 9025 | matched = FALSE(0); | |||
| 9026 | goto ifmatch_done; | |||
| 9027 | ||||
| 9028 | case IFMATCH_A(109 + 25): /* body of (?...A) succeeded */ | |||
| 9029 | matched = TRUE(1); | |||
| 9030 | ifmatch_done: | |||
| 9031 | sw = matched == ST.wanted; | |||
| 9032 | if (! ST.logical && !sw) { | |||
| 9033 | sayNOgoto no; | |||
| 9034 | } | |||
| 9035 | ||||
| 9036 | if (OP(ST.me)((ST.me)->type) != SUSPEND81) { | |||
| 9037 | /* restore old position except for (?>...) */ | |||
| 9038 | locinput = st->locinput; | |||
| 9039 | loceol = st->loceol; | |||
| 9040 | script_run_begin = st->sr0; | |||
| 9041 | } | |||
| 9042 | scan = ST.me + ARG(ST.me)((((struct regnode_1 *)ST.me)->arg1)); | |||
| 9043 | if (scan == ST.me) | |||
| 9044 | scan = NULL((void*)0); | |||
| 9045 | continue; /* execute B */ | |||
| 9046 | } | |||
| 9047 | ||||
| 9048 | #undef ST | |||
| 9049 | ||||
| 9050 | case LONGJMP77: /* alternative with many branches compiles to | |||
| 9051 | * (BRANCHJ; EXACT ...; LONGJMP ) x N */ | |||
| 9052 | next = scan + ARG(scan)((((struct regnode_1 *)scan)->arg1)); | |||
| 9053 | if (next == scan) | |||
| 9054 | next = NULL((void*)0); | |||
| 9055 | break; | |||
| 9056 | ||||
| 9057 | case COMMIT103: /* (*COMMIT) */ | |||
| 9058 | reginfo->cutpoint = loceol; | |||
| 9059 | /* FALLTHROUGH */ | |||
| 9060 | ||||
| 9061 | case PRUNE100: /* (*PRUNE) */ | |||
| 9062 | if (scan->flags) | |||
| 9063 | sv_yes_mark = sv_commit = MUTABLE_SV(rexi->data->data[ ARG( scan ) ])((SV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) ]); _p; })); | |||
| 9064 | PUSH_STATE_GOTO(COMMIT_next, next, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 31); goto push_state ; | |||
| 9065 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 31); goto push_state ;; | |||
| 9066 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9066 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9067 | ||||
| 9068 | case COMMIT_next_fail(109 + 32): | |||
| 9069 | no_final = 1; | |||
| 9070 | /* FALLTHROUGH */ | |||
| 9071 | sayNOgoto no; | |||
| 9072 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9072 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9073 | ||||
| 9074 | case OPFAIL97: /* (*FAIL) */ | |||
| 9075 | if (scan->flags) | |||
| 9076 | sv_commit = MUTABLE_SV(rexi->data->data[ ARG( scan ) ])((SV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) ]); _p; })); | |||
| 9077 | if (logical) { | |||
| 9078 | /* deal with (?(?!)X|Y) properly, | |||
| 9079 | * make sure we trigger the no branch | |||
| 9080 | * of the trailing IFTHEN structure*/ | |||
| 9081 | sw= 0; | |||
| 9082 | break; | |||
| 9083 | } else { | |||
| 9084 | sayNOgoto no; | |||
| 9085 | } | |||
| 9086 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9086 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9087 | ||||
| 9088 | #define ST st->u.mark | |||
| 9089 | case MARKPOINT101: /* (*MARK:foo) */ | |||
| 9090 | ST.prev_mark = mark_state; | |||
| 9091 | ST.mark_name = sv_commit = sv_yes_mark | |||
| 9092 | = MUTABLE_SV(rexi->data->data[ ARG( scan ) ])((SV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) ]); _p; })); | |||
| 9093 | mark_state = st; | |||
| 9094 | ST.mark_loc = locinput; | |||
| 9095 | PUSH_YES_STATE_GOTO(MARKPOINT_next, next, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 33); goto push_yes_state ; | |||
| 9096 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 33); goto push_yes_state ;; | |||
| 9097 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9097 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9098 | ||||
| 9099 | case MARKPOINT_next(109 + 33): | |||
| 9100 | mark_state = ST.prev_mark; | |||
| 9101 | sayYESgoto yes; | |||
| 9102 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9102 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9103 | ||||
| 9104 | case MARKPOINT_next_fail(109 + 34): | |||
| 9105 | if (popmark && sv_eq(ST.mark_name,popmark)Perl_sv_eq_flags( ST.mark_name,popmark,2)) | |||
| 9106 | { | |||
| 9107 | if (ST.mark_loc > startpoint) | |||
| 9108 | reginfo->cutpoint = HOPBACKc(ST.mark_loc, 1)((char*)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)ST. mark_loc, (ssize_t)0-1, (U8*)(reginfo->strbeg)) : (ST.mark_loc - 1 >= reginfo->strbeg) ? (U8*)ST.mark_loc - 1 : ((void *)0))); | |||
| 9109 | popmark = NULL((void*)0); /* we found our mark */ | |||
| 9110 | sv_commit = ST.mark_name; | |||
| 9111 | ||||
| 9112 | DEBUG_EXECUTE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sMARKPOINT: next fail: setting cutpoint to mark:%" "-p" "...%s\n" , depth, PL_colors[4], ((void*)(sv_commit)), PL_colors[5]); } ;} while (0) | |||
| 9113 | Perl_re_exec_indentf( aTHX_ "%sMARKPOINT: next fail: setting cutpoint to mark:%" SVf "...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sMARKPOINT: next fail: setting cutpoint to mark:%" "-p" "...%s\n" , depth, PL_colors[4], ((void*)(sv_commit)), PL_colors[5]); } ;} while (0) | |||
| 9114 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sMARKPOINT: next fail: setting cutpoint to mark:%" "-p" "...%s\n" , depth, PL_colors[4], ((void*)(sv_commit)), PL_colors[5]); } ;} while (0) | |||
| 9115 | PL_colors[4], SVfARG(sv_commit), PL_colors[5]);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sMARKPOINT: next fail: setting cutpoint to mark:%" "-p" "...%s\n" , depth, PL_colors[4], ((void*)(sv_commit)), PL_colors[5]); } ;} while (0) | |||
| 9116 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { Perl_re_exec_indentf ( "%sMARKPOINT: next fail: setting cutpoint to mark:%" "-p" "...%s\n" , depth, PL_colors[4], ((void*)(sv_commit)), PL_colors[5]); } ;} while (0); | |||
| 9117 | } | |||
| 9118 | mark_state = ST.prev_mark; | |||
| 9119 | sv_yes_mark = mark_state ? | |||
| 9120 | mark_state->u.mark.mark_name : NULL((void*)0); | |||
| 9121 | sayNOgoto no; | |||
| 9122 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9122 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9123 | ||||
| 9124 | case SKIP102: /* (*SKIP) */ | |||
| 9125 | if (!scan->flags) { | |||
| 9126 | /* (*SKIP) : if we fail we cut here*/ | |||
| 9127 | ST.mark_name = NULL((void*)0); | |||
| 9128 | ST.mark_loc = locinput; | |||
| 9129 | PUSH_STATE_GOTO(SKIP_next,next, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 35); goto push_state ; | |||
| 9130 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 35); goto push_state ;; | |||
| 9131 | } else { | |||
| 9132 | /* (*SKIP:NAME) : if there is a (*MARK:NAME) fail where it was, | |||
| 9133 | otherwise do nothing. Meaning we need to scan | |||
| 9134 | */ | |||
| 9135 | regmatch_state *cur = mark_state; | |||
| 9136 | SV *find = MUTABLE_SV(rexi->data->data[ ARG( scan ) ])((SV *)({ void *_p = (rexi->data->data[ ((((struct regnode_1 *)scan)->arg1)) ]); _p; })); | |||
| 9137 | ||||
| 9138 | while (cur) { | |||
| 9139 | if ( sv_eq( cur->u.mark.mark_name,Perl_sv_eq_flags( cur->u.mark.mark_name,find,2) | |||
| 9140 | find )Perl_sv_eq_flags( cur->u.mark.mark_name,find,2) ) | |||
| 9141 | { | |||
| 9142 | ST.mark_name = find; | |||
| 9143 | PUSH_STATE_GOTO( SKIP_next, next, locinput, loceol,pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 35); goto push_state ; | |||
| 9144 | script_run_begin)pushinput = locinput; pusheol = loceol; pushsr0 = script_run_begin ; scan = next; st->resume_state = (109 + 35); goto push_state ;; | |||
| 9145 | } | |||
| 9146 | cur = cur->u.mark.prev_mark; | |||
| 9147 | } | |||
| 9148 | } | |||
| 9149 | /* Didn't find our (*MARK:NAME) so ignore this (*SKIP:NAME) */ | |||
| 9150 | break; | |||
| 9151 | ||||
| 9152 | case SKIP_next_fail(109 + 36): | |||
| 9153 | if (ST.mark_name) { | |||
| 9154 | /* (*CUT:NAME) - Set up to search for the name as we | |||
| 9155 | collapse the stack*/ | |||
| 9156 | popmark = ST.mark_name; | |||
| 9157 | } else { | |||
| 9158 | /* (*CUT) - No name, we cut here.*/ | |||
| 9159 | if (ST.mark_loc > startpoint) | |||
| 9160 | reginfo->cutpoint = HOPBACKc(ST.mark_loc, 1)((char*)(reginfo->is_utf8_target ? S_reghopmaybe3((U8*)ST. mark_loc, (ssize_t)0-1, (U8*)(reginfo->strbeg)) : (ST.mark_loc - 1 >= reginfo->strbeg) ? (U8*)ST.mark_loc - 1 : ((void *)0))); | |||
| 9161 | /* but we set sv_commit to latest mark_name if there | |||
| 9162 | is one so they can test to see how things lead to this | |||
| 9163 | cut */ | |||
| 9164 | if (mark_state) | |||
| 9165 | sv_commit=mark_state->u.mark.mark_name; | |||
| 9166 | } | |||
| 9167 | no_final = 1; | |||
| 9168 | sayNOgoto no; | |||
| 9169 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9169 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9170 | #undef ST | |||
| 9171 | ||||
| 9172 | case LNBREAK106: /* \R */ | |||
| 9173 | if ((n=is_LNBREAK_safe(locinput, loceol, utf8_target)( ((loceol)-(locinput) > 2) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 9173, __func__, "(0x0C) >= (0x0A)" )), ( (sizeof(((const U8*)locinput)[0]) == sizeof(U8)) ? (((( NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 9173 , __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A ))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C ) - (0x0A))) | 0))))) : (sizeof(((const U8*)locinput)[0]) == sizeof (U32)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9173, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[0])))) - (((0x0A)) | 0))) <= (((U64) ( (((0x0C) - (0x0A))) | 0))))) : (((sizeof(((const U8*)locinput )[0]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 9173 , __func__, "sizeof(((const U8*)locinput)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9173, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[0])))) - (((0x0A)) | 0))) <= (((U64) ( (((0x0C) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8* )locinput)[0] ) ? ( ( 0x0A == ((const U8*)locinput)[1] ) ? 2 : 1 ) : ( utf8_target ) ? ( ( 0xC2 == ((const U8*)locinput)[0] ) ? ( ( 0x85 == ((const U8*)locinput)[1] ) ? 2 : 0 ) : ( ( ( 0xE2 == ((const U8*)locinput)[0] ) && ( 0x80 == ((const U8*)locinput)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? ( void)0 : __assert2("re_exec.c", 9173, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)locinput)[2]) == sizeof(U8)) ? (((( NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c", 9173 , __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8 ))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U8) (((const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0))))) : (sizeof(((const U8*)locinput)[2]) == sizeof (U32)) ? ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9173, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U32) ((( const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0))))) : (((sizeof(((const U8*)locinput )[2]) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 9173 , __func__, "sizeof(((const U8*)locinput)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9173, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[2])))) - (((0xA8)) | 0))) <= (((U64) ( (((0xA9) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ) : ( 0x85 == ((const U8*)locinput)[0] ) ) : ((loceol)-(locinput) > 1) ? ( ( (( ((0x0C) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 9173 , __func__, "(0x0C) >= (0x0A)")), ( (sizeof(((const U8*)locinput )[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9173, __func__, "(NV) ((0x0A)) >= 0")), (((NV ) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9173, __func__, "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64 ) (((((U8) (((const U8*)locinput)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*) locinput)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? ( void)0 : __assert2("re_exec.c", 9173, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9173, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)locinput)[0])))) - (((0x0A )) | 0))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof (((const U8*)locinput)[0]) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9173, __func__, "sizeof(((const U8*)locinput)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9173, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[0])))) - (((0x0A)) | 0))) <= (((U64) ( (((0x0C) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8* )locinput)[0] ) ? ( ( 0x0A == ((const U8*)locinput)[1] ) ? 2 : 1 ) : ( utf8_target ) ? ( ( ( 0xC2 == ((const U8*)locinput)[ 0] ) && ( 0x85 == ((const U8*)locinput)[1] ) ) ? 2 : 0 ) : ( 0x85 == ((const U8*)locinput)[0] ) ) : ((loceol)-(locinput ) > 0) ? ( ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2 ("re_exec.c", 9173, __func__, "(0x0D) >= (0x0A)")), ( (sizeof (((const U8*)locinput)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9173, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)locinput)[0])))) - (((0x0A) ) | 0))) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof (((const U8*)locinput)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9173, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)locinput)[0])))) - (((0x0A )) | 0))) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof (((const U8*)locinput)[0]) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9173, __func__, "sizeof(((const U8*)locinput)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9173, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 9173, __func__ , "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) (((((U64) ((( const U8*)locinput)[0])))) - (((0x0A)) | 0))) <= (((U64) ( (((0x0D) - (0x0A))) | 0)))))))) ) ? 1 : ( !( utf8_target ) ) ? ( 0x85 == ((const U8*)locinput)[0] ) : 0 ) : 0 ))) { | |||
| 9174 | locinput += n; | |||
| 9175 | } else | |||
| 9176 | sayNOgoto no; | |||
| 9177 | break; | |||
| 9178 | ||||
| 9179 | default: | |||
| 9180 | PerlIO_printf(Perl_error_log(PL_stderrgv && (((svtype)((PL_stderrgv)->sv_flags & 0xff)) == SVt_PVGV) && ((0+(*({GV *const _gvgp = (GV *) (PL_stderrgv); ((((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c", 9180, __func__ , "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV")); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV)) ) ? (void)0 : __assert2("re_exec.c", 9180, __func__, "isGV_with_GP(_gvgp)" )); &((_gvgp)->sv_u.svu_gp);})))->gp_io) && ((XPVIO*) (((0+(*({GV *const _gvgp = (GV *) (PL_stderrgv); ( (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ( (svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV) ? (void )0 : __assert2("re_exec.c", 9180, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 9180, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_io))->sv_any)->xio_ofp ? ((XPVIO*) (((0+(*({GV *const _gvgp = (GV *) (PL_stderrgv); ((((svtype)((_gvgp)-> sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c", 9180, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 9180, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_io))->sv_any)->xio_ofp : Perl_PerlIO_stderr()), "%" UVxf"lx" " %d\n", | |||
| 9181 | PTR2UV(scan)(UV)(scan), OP(scan)((scan)->type)); | |||
| 9182 | Perl_croak(aTHX_ "regexp memory corruption"); | |||
| 9183 | ||||
| 9184 | /* this is a point to jump to in order to increment | |||
| 9185 | * locinput by one character */ | |||
| 9186 | increment_locinput: | |||
| 9187 | assert(!NEXTCHR_IS_EOS)((!(nextchr < 0)) ? (void)0 : __assert2("re_exec.c", 9187, __func__, "!NEXTCHR_IS_EOS")); | |||
| 9188 | if (utf8_target) { | |||
| 9189 | locinput += PL_utf8skip[nextchr]; | |||
| 9190 | /* locinput is allowed to go 1 char off the end (signifying | |||
| 9191 | * EOS), but not 2+ */ | |||
| 9192 | if (locinput > loceol) | |||
| 9193 | sayNOgoto no; | |||
| 9194 | } | |||
| 9195 | else | |||
| 9196 | locinput++; | |||
| 9197 | break; | |||
| 9198 | ||||
| 9199 | } /* end switch */ | |||
| 9200 | ||||
| 9201 | /* switch break jumps here */ | |||
| 9202 | scan = next; /* prepare to execute the next op and ... */ | |||
| 9203 | continue; /* ... jump back to the top, reusing st */ | |||
| 9204 | /* NOTREACHED */ | |||
| 9205 | ||||
| 9206 | push_yes_state: | |||
| 9207 | /* push a state that backtracks on success */ | |||
| 9208 | st->u.yes.prev_yes_state = yes_state; | |||
| 9209 | yes_state = st; | |||
| 9210 | /* FALLTHROUGH */ | |||
| 9211 | push_state: | |||
| 9212 | /* push a new regex state, then continue at scan */ | |||
| 9213 | { | |||
| 9214 | regmatch_state *newst; | |||
| 9215 | DECLARE_AND_GET_RE_DEBUG_FLAGSvolatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags) ); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 9215, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 9215, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); | |||
| 9216 | ||||
| 9217 | DEBUG_r( /* DEBUG_STACK_r */do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9218 | if (DEBUG_v_TEST || RE_DEBUG_FLAG(RE_DEBUG_EXTRA_STACK)) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9219 | regmatch_state *cur = st;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9220 | regmatch_state *curyes = yes_state;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9221 | U32 i;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9222 | regmatch_slab *slab = PL_regmatch_slab;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9223 | for (i = 0; i < 3 && i <= depth; cur--,i++) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9224 | if (cur < SLAB_FIRST(slab)) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9225 | slab = slab->prev;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9226 | cur = SLAB_LAST(slab);do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9227 | }do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9228 | Perl_re_exec_indentf( aTHX_ "%4s #%-3d %-10s %s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9229 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9230 | i ? " " : "push",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9231 | depth - i, PL_reg_name[cur->resume_state],do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9232 | (curyes == cur) ? "yes" : ""do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9233 | );do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9234 | if (curyes == cur)do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9235 | curyes = cur->u.yes.prev_yes_state;do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9236 | }do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9237 | } else {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9238 | DEBUG_STATE_pp("push")do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0) | |||
| 9239 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0280000))) { regmatch_state *cur = st; regmatch_state *curyes = yes_state; U32 i; regmatch_slab *slab = PL_regmatch_slab; for (i = 0; i < 3 && i <= depth; cur--,i++) { if (cur < (&(slab)->states[0]) ) { slab = slab->prev; cur = (&(slab)->states[((4096 - 3 * sizeof (void*)) / sizeof(regmatch_state))-1]); } Perl_re_exec_indentf ( "%4s #%-3d %-10s %s\n", depth, i ? " " : "push", depth - i, PL_reg_name[cur->resume_state], (curyes == cur) ? "yes" : "" ); if (curyes == cur) curyes = cur->u.yes.prev_yes_state ; } } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "push" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0); };} while (0); | |||
| 9240 | depth++; | |||
| 9241 | st->locinput = locinput; | |||
| 9242 | st->loceol = loceol; | |||
| 9243 | st->sr0 = script_run_begin; | |||
| 9244 | newst = st+1; | |||
| 9245 | if (newst > SLAB_LAST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[((4096 - 3 * sizeof (void *)) / sizeof(regmatch_state))-1])) | |||
| 9246 | newst = S_push_slab(aTHX); | |||
| 9247 | PL_regmatch_state = newst; | |||
| 9248 | ||||
| 9249 | locinput = pushinput; | |||
| 9250 | loceol = pusheol; | |||
| 9251 | script_run_begin = pushsr0; | |||
| 9252 | st = newst; | |||
| 9253 | continue; | |||
| 9254 | /* NOTREACHED */ | |||
| 9255 | } | |||
| 9256 | } | |||
| 9257 | #ifdef SOLARIS_BAD_OPTIMIZER | |||
| 9258 | # undef PL_charclass | |||
| 9259 | #endif | |||
| 9260 | ||||
| 9261 | /* | |||
| 9262 | * We get here only if there's trouble -- normally "case END" is | |||
| 9263 | * the terminating point. | |||
| 9264 | */ | |||
| 9265 | Perl_croak(aTHX_ "corrupted regexp pointers"); | |||
| 9266 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 9266 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 9267 | ||||
| 9268 | yes: | |||
| 9269 | if (yes_state) { | |||
| 9270 | /* we have successfully completed a subexpression, but we must now | |||
| 9271 | * pop to the state marked by yes_state and continue from there */ | |||
| 9272 | assert(st != yes_state)((st != yes_state) ? (void)0 : __assert2("re_exec.c", 9272, __func__ , "st != yes_state")); | |||
| 9273 | #ifdef DEBUGGING | |||
| 9274 | while (st != yes_state) { | |||
| 9275 | st--; | |||
| 9276 | if (st < SLAB_FIRST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[0])) { | |||
| 9277 | PL_regmatch_slab = PL_regmatch_slab->prev; | |||
| 9278 | st = SLAB_LAST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[((4096 - 3 * sizeof (void *)) / sizeof(regmatch_state))-1]); | |||
| 9279 | } | |||
| 9280 | DEBUG_STATE_r({do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { if (no_final) { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (no final)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (yes)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } };} while (0) | |||
| 9281 | if (no_final) {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { if (no_final) { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (no final)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (yes)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } };} while (0) | |||
| 9282 | DEBUG_STATE_pp("pop (no final)");do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { if (no_final) { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (no final)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (yes)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } };} while (0) | |||
| 9283 | } else {do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { if (no_final) { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (no final)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (yes)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } };} while (0) | |||
| 9284 | DEBUG_STATE_pp("pop (yes)");do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { if (no_final) { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (no final)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (yes)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } };} while (0) | |||
| 9285 | }do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { if (no_final) { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (no final)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (yes)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } };} while (0) | |||
| 9286 | })do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { if (no_final) { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (no final)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } else { do {if (__builtin_expect(((PL_debug & 0x00100000 ) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000 ))) { S_dump_exec_pos( locinput,scan,(reginfo->strend),(reginfo ->strbeg),startpos,utf8_target,depth); Perl_re_printf( "%*s" "pop (yes)" " %s%s%s%s%s\n", ((int)(depth) % 20), "", PL_reg_name [st->resume_state], ((st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state||st==mark_state) ? "]" : "") ); };} while (0);; } };} while (0); | |||
| 9287 | depth--; | |||
| 9288 | } | |||
| 9289 | #else | |||
| 9290 | while (yes_state < SLAB_FIRST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[0]) | |||
| 9291 | || yes_state > SLAB_LAST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[((4096 - 3 * sizeof (void *)) / sizeof(regmatch_state))-1])) | |||
| 9292 | { | |||
| 9293 | /* not in this slab, pop slab */ | |||
| 9294 | depth -= (st - SLAB_FIRST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[0]) + 1); | |||
| 9295 | PL_regmatch_slab = PL_regmatch_slab->prev; | |||
| 9296 | st = SLAB_LAST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[((4096 - 3 * sizeof (void *)) / sizeof(regmatch_state))-1]); | |||
| 9297 | } | |||
| 9298 | depth -= (st - yes_state); | |||
| 9299 | #endif | |||
| 9300 | st = yes_state; | |||
| 9301 | yes_state = st->u.yes.prev_yes_state; | |||
| 9302 | PL_regmatch_state = st; | |||
| 9303 | ||||
| 9304 | if (no_final) { | |||
| 9305 | locinput= st->locinput; | |||
| 9306 | loceol= st->loceol; | |||
| 9307 | script_run_begin = st->sr0; | |||
| 9308 | } | |||
| 9309 | state_num = st->resume_state + no_final; | |||
| 9310 | goto reenter_switch; | |||
| 9311 | } | |||
| 9312 | ||||
| 9313 | DEBUG_EXECUTE_r(Perl_re_printf( aTHX_ "%sMatch successful!%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sMatch successful!%s\n", PL_colors[4], PL_colors[5]);} while (0) | |||
| 9314 | PL_colors[4], PL_colors[5]))do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_printf ( "%sMatch successful!%s\n", PL_colors[4], PL_colors[5]);} while (0); | |||
| 9315 | ||||
| 9316 | if (reginfo->info_aux_eval) { | |||
| 9317 | /* each successfully executed (?{...}) block does the equivalent of | |||
| 9318 | * local $^R = do {...} | |||
| 9319 | * When popping the save stack, all these locals would be undone; | |||
| 9320 | * bypass this by setting the outermost saved $^R to the latest | |||
| 9321 | * value */ | |||
| 9322 | /* I dont know if this is needed or works properly now. | |||
| 9323 | * see code related to PL_replgv elsewhere in this file. | |||
| 9324 | * Yves | |||
| 9325 | */ | |||
| 9326 | if (oreplsv != GvSV(PL_replgv)((0+(*({GV *const _gvgp = (GV *) (PL_replgv); ((((svtype)((_gvgp )->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)-> sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c" , 9326, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 9326, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv)) { | |||
| 9327 | sv_setsv(oreplsv, GvSV(PL_replgv))Perl_sv_setsv_flags( oreplsv,((0+(*({GV *const _gvgp = (GV *) (PL_replgv); ((((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV ) ? (void)0 : __assert2("re_exec.c", 9327, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 9327, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv),2|0); | |||
| 9328 | SvSETMAGIC(oreplsv)do { if (__builtin_expect(((((oreplsv)->sv_flags & 0x00400000 )) ? (_Bool)1 : (_Bool)0),(0))) Perl_mg_set( oreplsv); } while (0); | |||
| 9329 | } | |||
| 9330 | } | |||
| 9331 | result = 1; | |||
| 9332 | goto final_exit; | |||
| 9333 | ||||
| 9334 | no: | |||
| 9335 | DEBUG_EXECUTE_r(do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sfailed...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0) | |||
| 9336 | Perl_re_exec_indentf( aTHX_ "%sfailed...%s\n",do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sfailed...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0) | |||
| 9337 | depth,do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sfailed...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0) | |||
| 9338 | PL_colors[4], PL_colors[5])do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sfailed...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0) | |||
| 9339 | )do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) Perl_re_exec_indentf ( "%sfailed...%s\n", depth, PL_colors[4], PL_colors[5]);} while (0); | |||
| 9340 | ||||
| 9341 | no_silent: | |||
| 9342 | if (no_final) { | |||
| 9343 | if (yes_state) { | |||
| 9344 | goto yes; | |||
| 9345 | } else { | |||
| 9346 | goto final_exit; | |||
| 9347 | } | |||
| 9348 | } | |||
| 9349 | if (depth) { | |||
| 9350 | /* there's a previous state to backtrack to */ | |||
| 9351 | st--; | |||
| 9352 | if (st < SLAB_FIRST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[0])) { | |||
| 9353 | PL_regmatch_slab = PL_regmatch_slab->prev; | |||
| 9354 | st = SLAB_LAST(PL_regmatch_slab)(&(PL_regmatch_slab)->states[((4096 - 3 * sizeof (void *)) / sizeof(regmatch_state))-1]); | |||
| 9355 | } | |||
| 9356 | PL_regmatch_state = st; | |||
| 9357 | locinput= st->locinput; | |||
| 9358 | loceol= st->loceol; | |||
| 9359 | script_run_begin = st->sr0; | |||
| 9360 | ||||
| 9361 | DEBUG_STATE_pp("pop")do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool )1 : (_Bool)0),(0)) || (re_debug_flags & (0x0080000))) { S_dump_exec_pos ( locinput,scan,(reginfo->strend),(reginfo->strbeg),startpos ,utf8_target,depth); Perl_re_printf( "%*s" "pop" " %s%s%s%s%s\n" , ((int)(depth) % 20), "", PL_reg_name[st->resume_state], ( (st==yes_state||st==mark_state) ? "[" : ""), ((st==yes_state) ? "Y" : ""), ((st==mark_state) ? "M" : ""), ((st==yes_state|| st==mark_state) ? "]" : "") ); };} while (0);; | |||
| 9362 | depth--; | |||
| 9363 | if (yes_state == st) | |||
| 9364 | yes_state = st->u.yes.prev_yes_state; | |||
| 9365 | ||||
| 9366 | state_num = st->resume_state + 1; /* failure = success + 1 */ | |||
| 9367 | PERL_ASYNC_CHECK()if (__builtin_expect(((PL_sig_pending) ? (_Bool)1 : (_Bool)0) ,(0))) PL_signalhook(); | |||
| 9368 | goto reenter_switch; | |||
| 9369 | } | |||
| 9370 | result = 0; | |||
| 9371 | ||||
| 9372 | final_exit: | |||
| 9373 | if (rex->intflags & PREGf_VERBARG_SEEN0x00000008) { | |||
| 9374 | SV *sv_err = get_sv("REGERROR", 1)Perl_get_sv( "REGERROR",1); | |||
| 9375 | SV *sv_mrk = get_sv("REGMARK", 1)Perl_get_sv( "REGMARK",1); | |||
| 9376 | if (result) { | |||
| 9377 | sv_commit = &PL_sv_no(PL_sv_immortals[2]); | |||
| 9378 | if (!sv_yes_mark) | |||
| 9379 | sv_yes_mark = &PL_sv_yes(PL_sv_immortals[0]); | |||
| 9380 | } else { | |||
| 9381 | if (!sv_commit) | |||
| 9382 | sv_commit = &PL_sv_yes(PL_sv_immortals[0]); | |||
| 9383 | sv_yes_mark = &PL_sv_no(PL_sv_immortals[2]); | |||
| 9384 | } | |||
| 9385 | assert(sv_err)((sv_err) ? (void)0 : __assert2("re_exec.c", 9385, __func__, "sv_err" )); | |||
| 9386 | assert(sv_mrk)((sv_mrk) ? (void)0 : __assert2("re_exec.c", 9386, __func__, "sv_mrk" )); | |||
| 9387 | sv_setsv(sv_err, sv_commit)Perl_sv_setsv_flags( sv_err,sv_commit,2|0); | |||
| 9388 | sv_setsv(sv_mrk, sv_yes_mark)Perl_sv_setsv_flags( sv_mrk,sv_yes_mark,2|0); | |||
| 9389 | } | |||
| 9390 | ||||
| 9391 | ||||
| 9392 | if (last_pushed_cv) { | |||
| 9393 | dSPSV **sp = PL_stack_sp; | |||
| 9394 | /* see "Some notes about MULTICALL" above */ | |||
| 9395 | 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_cxstack )[(PL_curstackinfo->si_cxix)]) == cx) ? (void)0 : __assert2 ("re_exec.c", 9395, __func__, "CX_CUR() == cx")); (PL_curstackinfo ->si_cxix)--; cx = ((void*)0);; do { SV **sp = PL_stack_sp ; PERL_SI * const prev = PL_curstackinfo->si_prev; if (__builtin_expect (((PL_debug & 0x00000004) ? (_Bool)1 : (_Bool)0),(0))) { int i = -1; PERL_SI *p = PL_curstackinfo; while (p) { i++; p = p ->si_prev; } Perl_deb( "pop STACKINFO %d at %s:%d\n", i, "re_exec.c" , 9395);} 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 { if ( __builtin_expect(((PL_debug & 0x00000004) ? (_Bool)1 : (_Bool )0),(0))) Perl_deb( "JUMPLEVEL set catch %d => %d (for %p) at %s:%d\n" , PL_top_env->je_mustcatch, multicall_oldcatch, (void*)PL_top_env , "re_exec.c", 9395); PL_top_env->je_mustcatch = (multicall_oldcatch ); } while (0); sp = PL_stack_sp; } while (0); | |||
| 9396 | PERL_UNUSED_VAR(SP)((void)sizeof(sp)); | |||
| 9397 | } | |||
| 9398 | else | |||
| 9399 | LEAVE_SCOPE(orig_savestack_ix)do { if (PL_savestack_ix > orig_savestack_ix) Perl_leave_scope ( orig_savestack_ix); } while (0); | |||
| 9400 | ||||
| 9401 | assert(!result || locinput - reginfo->strbeg >= 0)((!result || locinput - reginfo->strbeg >= 0) ? (void)0 : __assert2("re_exec.c", 9401, __func__, "!result || locinput - reginfo->strbeg >= 0" )); | |||
| 9402 | return result ? locinput - reginfo->strbeg : -1; | |||
| 9403 | } | |||
| 9404 | ||||
| 9405 | /* | |||
| 9406 | - regrepeat - repeatedly match something simple, report how many | |||
| 9407 | * | |||
| 9408 | * What 'simple' means is a node which can be the operand of a quantifier like | |||
| 9409 | * '+', or {1,3} | |||
| 9410 | * | |||
| 9411 | * startposp - pointer to a pointer to the start position. This is updated | |||
| 9412 | * to point to the byte following the highest successful | |||
| 9413 | * match. | |||
| 9414 | * p - the regnode to be repeatedly matched against. | |||
| 9415 | * loceol - pointer to the end position beyond which we aren't supposed to | |||
| 9416 | * look. | |||
| 9417 | * reginfo - struct holding match state, such as utf8_target | |||
| 9418 | * max - maximum number of things to match. | |||
| 9419 | * depth - (for debugging) backtracking depth. | |||
| 9420 | */ | |||
| 9421 | STATICstatic I32 | |||
| 9422 | S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, | |||
| 9423 | char * loceol, regmatch_info *const reginfo, I32 max _pDEPTH,U32 depth) | |||
| 9424 | { | |||
| 9425 | dVARstruct Perl___notused_struct; | |||
| 9426 | char *scan; /* Pointer to current position in target string */ | |||
| 9427 | I32 c; | |||
| 9428 | char *this_eol = loceol; /* potentially adjusted version. */ | |||
| 9429 | I32 hardcount = 0; /* How many matches so far */ | |||
| 9430 | bool_Bool utf8_target = reginfo->is_utf8_target; | |||
| 9431 | unsigned int to_complement = 0; /* Invert the result? */ | |||
| 9432 | UV utf8_flags = 0; | |||
| 9433 | _char_class_number classnum; | |||
| 9434 | ||||
| 9435 | PERL_ARGS_ASSERT_REGREPEAT((prog) ? (void)0 : __assert2("re_exec.c", 9435, __func__, "prog" )); ((startposp) ? (void)0 : __assert2("re_exec.c", 9435, __func__ , "startposp")); ((p) ? (void)0 : __assert2("re_exec.c", 9435 , __func__, "p")); ((loceol) ? (void)0 : __assert2("re_exec.c" , 9435, __func__, "loceol")); ((reginfo) ? (void)0 : __assert2 ("re_exec.c", 9435, __func__, "reginfo")); | |||
| 9436 | ||||
| 9437 | /* This routine is structured so that we switch on the input OP. Each OP | |||
| 9438 | * case: statement contains a loop to repeatedly apply the OP, advancing | |||
| 9439 | * the input until it fails, or reaches the end of the input, or until it | |||
| 9440 | * reaches the upper limit of matches. */ | |||
| 9441 | ||||
| 9442 | scan = *startposp; | |||
| 9443 | if (max == REG_INFTY0xffff) /* This is a special marker to go to the platform's | |||
| 9444 | max */ | |||
| 9445 | max = I32_MAX0x7fffffff; | |||
| 9446 | else if (! utf8_target && this_eol - scan > max) | |||
| 9447 | this_eol = scan + max; | |||
| 9448 | ||||
| 9449 | /* Here, for the case of a non-UTF-8 target we have adjusted <this_eol> down | |||
| 9450 | * to the maximum of how far we should go in it (leaving it set to the real | |||
| 9451 | * end, if the maximum permissible would take us beyond that). This allows | |||
| 9452 | * us to make the loop exit condition that we haven't gone past <this_eol> to | |||
| 9453 | * also mean that we haven't exceeded the max permissible count, saving a | |||
| 9454 | * test each time through the loops. But it assumes that the OP matches a | |||
| 9455 | * single byte, which is true for most of the OPs below when applied to a | |||
| 9456 | * non-UTF-8 target. Those relatively few OPs that don't have this | |||
| 9457 | * characteristic will have to compensate. | |||
| 9458 | * | |||
| 9459 | * There is no adjustment for UTF-8 targets, as the number of bytes per | |||
| 9460 | * character varies. OPs will have to test both that the count is less | |||
| 9461 | * than the max permissible (using <hardcount> to keep track), and that we | |||
| 9462 | * are still within the bounds of the string (using <this_eol>. A few OPs | |||
| 9463 | * match a single byte no matter what the encoding. They can omit the max | |||
| 9464 | * test if, for the UTF-8 case, they do the adjustment that was skipped | |||
| 9465 | * above. | |||
| 9466 | * | |||
| 9467 | * Thus, the code above sets things up for the common case; and exceptional | |||
| 9468 | * cases need extra work; the common case is to make sure <scan> doesn't | |||
| 9469 | * go past <this_eol>, and for UTF-8 to also use <hardcount> to make sure the | |||
| 9470 | * count doesn't exceed the maximum permissible */ | |||
| 9471 | ||||
| 9472 | switch (OP(p)((p)->type)) { | |||
| 9473 | case REG_ANY16: | |||
| 9474 | if (utf8_target) { | |||
| 9475 | while (scan < this_eol && hardcount < max && *scan != '\n') { | |||
| 9476 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9477 | hardcount++; | |||
| 9478 | } | |||
| 9479 | } else { | |||
| 9480 | scan = (char *) memchr(scan, '\n', this_eol - scan); | |||
| 9481 | if (! scan) { | |||
| 9482 | scan = this_eol; | |||
| 9483 | } | |||
| 9484 | } | |||
| 9485 | break; | |||
| 9486 | case SANY17: | |||
| 9487 | if (utf8_target) { | |||
| 9488 | while (scan < this_eol && hardcount < max) { | |||
| 9489 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9490 | hardcount++; | |||
| 9491 | } | |||
| 9492 | } | |||
| 9493 | else | |||
| 9494 | scan = this_eol; | |||
| 9495 | break; | |||
| 9496 | ||||
| 9497 | case LEXACT_REQ851: | |||
| 9498 | if (! utf8_target) { | |||
| 9499 | break; | |||
| 9500 | } | |||
| 9501 | /* FALLTHROUGH */ | |||
| 9502 | ||||
| 9503 | case LEXACT41: | |||
| 9504 | { | |||
| 9505 | U8 * string; | |||
| 9506 | Size_tsize_t str_len; | |||
| 9507 | ||||
| 9508 | string = (U8 *) STRINGl(p)(((((p)->type) == 41 || ((p)->type) == 51) ? (void)0 : __assert2 ("re_exec.c", 9508, __func__, "((p)->type) == 41 || ((p)->type) == 51" )), (((struct regnode_lstring *)p)->string)); | |||
| 9509 | str_len = STR_LENl(p)(((((p)->type) == 41 || ((p)->type) == 51) ? (void)0 : __assert2 ("re_exec.c", 9509, __func__, "((p)->type) == 41 || ((p)->type) == 51" )), (((struct regnode_lstring *)p)->str_len)); | |||
| 9510 | goto join_short_long_exact; | |||
| 9511 | ||||
| 9512 | case EXACTL42: | |||
| 9513 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 9514 | if (utf8_target && UTF8_IS_ABOVE_LATIN1(*scan)(((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 9514, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9514, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))) >= ((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { | |||
| 9515 | _CHECK_AND_OUTPUT_WIDE_LOCALE_UTF8_MSG(scan, loceol)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { UV cp = Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) (scan)),(const U8 *) (U8 *) (loceol),((void*)0)); Perl_warner ( (63 ), "Wide character (U+%" "lX" ") in %s", (cp == 0) ? 0xFFFD : (UV) cp, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); | |||
| 9516 | } | |||
| 9517 | goto do_exact; | |||
| 9518 | ||||
| 9519 | case EXACT_REQ850: | |||
| 9520 | if (! utf8_target) { | |||
| 9521 | break; | |||
| 9522 | } | |||
| 9523 | /* FALLTHROUGH */ | |||
| 9524 | case EXACT40: | |||
| 9525 | do_exact: | |||
| 9526 | string = (U8 *) STRINGs(p)(((((p)->type) != 41 && ((p)->type) != 51) ? (void )0 : __assert2("re_exec.c", 9526, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->string); | |||
| 9527 | str_len = STR_LENs(p)(((((p)->type) != 41 && ((p)->type) != 51) ? (void )0 : __assert2("re_exec.c", 9527, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->str_len); | |||
| 9528 | ||||
| 9529 | join_short_long_exact: | |||
| 9530 | assert(str_len == reginfo->is_utf8_pat ? UTF8SKIP(string) : 1)((str_len == reginfo->is_utf8_pat ? PL_utf8skip[*(const U8 *)(string)] : 1) ? (void)0 : __assert2("re_exec.c", 9530, __func__ , "str_len == reginfo->is_utf8_pat ? UTF8SKIP(string) : 1" )); | |||
| 9531 | ||||
| 9532 | c = *string; | |||
| 9533 | ||||
| 9534 | /* Can use a simple find if the pattern char to match on is invariant | |||
| 9535 | * under UTF-8, or both target and pattern aren't UTF-8. Note that we | |||
| 9536 | * can use UTF8_IS_INVARIANT() even if the pattern isn't UTF-8, as it's | |||
| 9537 | * true iff it doesn't matter if the argument is in UTF-8 or not */ | |||
| 9538 | if (UTF8_IS_INVARIANT(c)((((U64)(((UV) (((c) | 0) | 0)))) < (((U8) (0xFF << 6 )) & 0xB0))) || (! utf8_target && ! reginfo->is_utf8_pat)) { | |||
| 9539 | if (utf8_target && this_eol - scan > max) { | |||
| 9540 | /* We didn't adjust <this_eol> because is UTF-8, but ok to do so, | |||
| 9541 | * since here, to match at all, 1 char == 1 byte */ | |||
| 9542 | this_eol = scan + max; | |||
| 9543 | } | |||
| 9544 | scan = (char *) find_span_endS_find_span_end((U8 *) scan, (U8 *) this_eol, (U8) c); | |||
| 9545 | } | |||
| 9546 | else if (reginfo->is_utf8_pat) { | |||
| 9547 | if (utf8_target) { | |||
| 9548 | STRLEN scan_char_len; | |||
| 9549 | ||||
| 9550 | /* When both target and pattern are UTF-8, we have to do | |||
| 9551 | * string EQ */ | |||
| 9552 | while (hardcount < max | |||
| 9553 | && scan < this_eol | |||
| 9554 | && (scan_char_len = UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]) <= str_len | |||
| 9555 | && memEQ(scan, string, scan_char_len)(memcmp(((const void *) (scan)), ((const void *) (string)), scan_char_len ) == 0)) | |||
| 9556 | { | |||
| 9557 | scan += scan_char_len; | |||
| 9558 | hardcount++; | |||
| 9559 | } | |||
| 9560 | } | |||
| 9561 | else if (! UTF8_IS_ABOVE_LATIN1(c)(((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 9561, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF) )) ? (void)0 : __assert2("re_exec.c", 9561, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((U8) ((c) | 0))) >= ((0x100 >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { | |||
| 9562 | ||||
| 9563 | /* Target isn't utf8; convert the character in the UTF-8 | |||
| 9564 | * pattern to non-UTF8, and do a simple find */ | |||
| 9565 | c = EIGHT_BIT_UTF8_TO_NATIVE(c, *(string + 1))( (((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9565 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((U8) ((c) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9565, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9565, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9565, __func__ , "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))")), ((U8) ((c) | 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((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((U8) ((c) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) ( 0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9565, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9565, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9565, __func__ , "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))")), ((U8) ((c) | 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((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((U8) ((c) | 0)))) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 9565, __func__, "sizeof((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9565, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9565, __func__, "(NV) (((((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) ((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9565, __func__ , "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))")), ((U8) ((c) | 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)) )))))))) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "(((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 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((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 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((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"sizeof((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 9565, __func__, \\\"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\\\")), ((U8) ((c) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"(NV) (((((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) ((((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 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(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9565, __func__, "( (sizeof(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9565, __func__, "( (sizeof(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))" )), ((U8) ((*(string + 1)) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 9565, __func__, "(((( (sizeof(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))\")), ((((((( (sizeof(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(*(string + 1)) == 1) || !(((U64)((*(string + 1)) | 0)) & ~0xFF))\")), ((U8) ((*(string + 1)) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*(string + 1))) == 1) || !(((U64 )(((*(string + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9565, __func__, "( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((U8) ((c) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(string + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((U8) ((c) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(string + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9565, __func__, "( (sizeof((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(string + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))\")), ((U8) ((c) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9565, __func__, \"( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))\")), ((U8) (((*(string + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*(string + 1))) == 1) || !(((U64)(( (*(string + 1))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9565, __func__, "( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof(c) == 1) || !(((U64)((c) | 0)) & ~0xFF))" )), ((U8) ((c) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9565, __func__, "( (sizeof((*(string + 1))) == 1) || !(((U64)(((*(string + 1))) | 0)) & ~0xFF))" )), ((U8) (((*(string + 1))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))); | |||
| 9566 | scan = (char *) find_span_endS_find_span_end((U8 *) scan, (U8 *) this_eol, (U8) c); | |||
| 9567 | } /* else pattern char is above Latin1, can't possibly match the | |||
| 9568 | non-UTF-8 target */ | |||
| 9569 | } | |||
| 9570 | else { | |||
| 9571 | ||||
| 9572 | /* Here, the string must be utf8; pattern isn't, and <c> is | |||
| 9573 | * different in utf8 than not, so can't compare them directly. | |||
| 9574 | * Outside the loop, find the two utf8 bytes that represent c, and | |||
| 9575 | * then look for those in sequence in the utf8 string */ | |||
| 9576 | U8 high = UTF8_TWO_BYTE_HI(c)((((sizeof(c) == 1) || !(((U64)(c)) & ~(32 * (1U << 6) - 1))) ? (void)0 : __assert2("re_exec.c", 9576, __func__, "(sizeof(c) == 1) || !(((U64)(c)) & ~(32 * (1U << 6) - 1))" )), ((((! ((((U64)(((UV) ((c) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (void)0 : __assert2("re_exec.c", 9576, __func__ , "! ((((U64)(((UV) ((c) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))" )), (((( (sizeof((((UV) ((c) | 0)) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))) == 1) || !(((U64) (((((UV) ((c) | 0)) >> 6) | (((2) > 7) ? 0xFF : ((U8 ) (0xFE << (7-(2)))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9576, __func__, "( (sizeof((((UV) ((c) | 0)) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) == 1) || !(((U64)(((((UV) ((c) | 0)) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) | 0)) & ~0xFF))" )), ((U8) (((((UV) ((c) | 0)) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) | 0)))))); | |||
| 9577 | U8 low = UTF8_TWO_BYTE_LO(c)((((sizeof(c) == 1) || !(((U64)(c)) & ~(32 * (1U << 6) - 1))) ? (void)0 : __assert2("re_exec.c", 9577, __func__, "(sizeof(c) == 1) || !(((U64)(c)) & ~(32 * (1U << 6) - 1))" )), ((((! ((((U64)(((UV) ((c) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? (void)0 : __assert2("re_exec.c", 9577, __func__ , "! ((((U64)(((UV) ((c) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))" )), (((( (sizeof((((UV) ((c) | 0)) & ((U8) ((1U << 6 ) - 1))) | (((U8) (0xFF << 6)) & 0xB0)) == 1) || !( ((U64)(((((UV) ((c) | 0)) & ((U8) ((1U << 6) - 1))) | (((U8) (0xFF << 6)) & 0xB0)) | 0)) & ~0xFF)) ) ? (void)0 : __assert2("re_exec.c", 9577, __func__, "( (sizeof((((UV) ((c) | 0)) & ((U8) ((1U << 6) - 1))) | (((U8) (0xFF << 6)) & 0xB0)) == 1) || !(((U64)(((((UV) ((c) | 0)) & ((U8) ((1U << 6) - 1))) | (((U8) (0xFF << 6)) & 0xB0)) | 0)) & ~0xFF))" )), ((U8) (((((UV) ((c) | 0)) & ((U8) ((1U << 6) - 1 ))) | (((U8) (0xFF << 6)) & 0xB0)) | 0)))))); | |||
| 9578 | ||||
| 9579 | while (hardcount < max | |||
| 9580 | && scan + 1 < this_eol | |||
| 9581 | && UCHARAT(scan)((int)*(const U8*)(scan)) == high | |||
| 9582 | && UCHARAT(scan + 1)((int)*(const U8*)(scan + 1)) == low) | |||
| 9583 | { | |||
| 9584 | scan += 2; | |||
| 9585 | hardcount++; | |||
| 9586 | } | |||
| 9587 | } | |||
| 9588 | break; | |||
| 9589 | } | |||
| 9590 | ||||
| 9591 | case EXACTFAA_NO_TRIE49: /* This node only generated for non-utf8 patterns */ | |||
| 9592 | assert(! reginfo->is_utf8_pat)((! reginfo->is_utf8_pat) ? (void)0 : __assert2("re_exec.c" , 9592, __func__, "! reginfo->is_utf8_pat")); | |||
| 9593 | /* FALLTHROUGH */ | |||
| 9594 | case EXACTFAA46: | |||
| 9595 | utf8_flags = FOLDEQ_UTF8_NOMIX_ASCII(1 << 0); | |||
| 9596 | if (reginfo->is_utf8_pat || ! utf8_target) { | |||
| 9597 | ||||
| 9598 | /* The possible presence of a MICRO SIGN in the pattern forbids us | |||
| 9599 | * to view a non-UTF-8 pattern as folded when there is a UTF-8 | |||
| 9600 | * target. */ | |||
| 9601 | utf8_flags |= FOLDEQ_S2_ALREADY_FOLDED(1 << 3)|FOLDEQ_S2_FOLDS_SANE(1 << 5); | |||
| 9602 | } | |||
| 9603 | goto do_exactf; | |||
| 9604 | ||||
| 9605 | case EXACTFL44: | |||
| 9606 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 9607 | utf8_flags = FOLDEQ_LOCALE(1 << 1); | |||
| 9608 | goto do_exactf; | |||
| 9609 | ||||
| 9610 | case EXACTF43: /* This node only generated for non-utf8 patterns */ | |||
| 9611 | assert(! reginfo->is_utf8_pat)((! reginfo->is_utf8_pat) ? (void)0 : __assert2("re_exec.c" , 9611, __func__, "! reginfo->is_utf8_pat")); | |||
| 9612 | goto do_exactf; | |||
| 9613 | ||||
| 9614 | case EXACTFLU848: | |||
| 9615 | if (! utf8_target) { | |||
| 9616 | break; | |||
| 9617 | } | |||
| 9618 | utf8_flags = FOLDEQ_LOCALE(1 << 1) | FOLDEQ_S2_ALREADY_FOLDED(1 << 3) | |||
| 9619 | | FOLDEQ_S2_FOLDS_SANE(1 << 5); | |||
| 9620 | goto do_exactf; | |||
| 9621 | ||||
| 9622 | case EXACTFU_REQ852: | |||
| 9623 | if (! utf8_target) { | |||
| 9624 | break; | |||
| 9625 | } | |||
| 9626 | assert(reginfo->is_utf8_pat)((reginfo->is_utf8_pat) ? (void)0 : __assert2("re_exec.c", 9626, __func__, "reginfo->is_utf8_pat")); | |||
| 9627 | utf8_flags = FOLDEQ_S2_ALREADY_FOLDED(1 << 3); | |||
| 9628 | goto do_exactf; | |||
| 9629 | ||||
| 9630 | case EXACTFU45: | |||
| 9631 | utf8_flags = FOLDEQ_S2_ALREADY_FOLDED(1 << 3); | |||
| 9632 | /* FALLTHROUGH */ | |||
| 9633 | ||||
| 9634 | case EXACTFUP47: | |||
| 9635 | ||||
| 9636 | do_exactf: { | |||
| 9637 | int c1, c2; | |||
| 9638 | U8 c1_utf8[UTF8_MAXBYTES13+1], c2_utf8[UTF8_MAXBYTES13+1]; | |||
| 9639 | ||||
| 9640 | assert(STR_LENs(p) == reginfo->is_utf8_pat ? UTF8SKIP(STRINGs(p)) : 1)(((((((p)->type) != 41 && ((p)->type) != 51) ? ( void)0 : __assert2("re_exec.c", 9640, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->str_len) == reginfo-> is_utf8_pat ? PL_utf8skip[*(const U8*)((((((p)->type) != 41 && ((p)->type) != 51) ? (void)0 : __assert2("re_exec.c" , 9640, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->string))] : 1) ? (void)0 : __assert2("re_exec.c", 9640, __func__, "STR_LENs(p) == reginfo->is_utf8_pat ? UTF8SKIP(STRINGs(p)) : 1" )); | |||
| 9641 | ||||
| 9642 | if (S_setup_EXACTISH_ST_c1_c2(aTHX_ p, &c1, c1_utf8, &c2, c2_utf8, | |||
| 9643 | reginfo)) | |||
| 9644 | { | |||
| 9645 | if (c1 == CHRTEST_VOID-1000) { | |||
| 9646 | /* Use full Unicode fold matching */ | |||
| 9647 | char *tmpeol = loceol; | |||
| 9648 | STRLEN pat_len = reginfo->is_utf8_pat ? UTF8SKIP(STRINGs(p))PL_utf8skip[*(const U8*)((((((p)->type) != 41 && ( (p)->type) != 51) ? (void)0 : __assert2("re_exec.c", 9648, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->string))] : 1; | |||
| 9649 | while (hardcount < max | |||
| 9650 | && foldEQ_utf8_flags(scan, &tmpeol, 0, utf8_target,Perl_foldEQ_utf8_flags( scan,&tmpeol,0,utf8_target,(((((p )->type) != 41 && ((p)->type) != 51) ? (void)0 : __assert2("re_exec.c", 9651, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->string),((void*)0),pat_len ,reginfo->is_utf8_pat,utf8_flags) | |||
| 9651 | STRINGs(p), NULL, pat_len,Perl_foldEQ_utf8_flags( scan,&tmpeol,0,utf8_target,(((((p )->type) != 41 && ((p)->type) != 51) ? (void)0 : __assert2("re_exec.c", 9651, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->string),((void*)0),pat_len ,reginfo->is_utf8_pat,utf8_flags) | |||
| 9652 | reginfo->is_utf8_pat, utf8_flags)Perl_foldEQ_utf8_flags( scan,&tmpeol,0,utf8_target,(((((p )->type) != 41 && ((p)->type) != 51) ? (void)0 : __assert2("re_exec.c", 9651, __func__, "((p)->type) != 41 && ((p)->type) != 51" )), ((struct regnode_string *)p)->string),((void*)0),pat_len ,reginfo->is_utf8_pat,utf8_flags)) | |||
| 9653 | { | |||
| 9654 | scan = tmpeol; | |||
| 9655 | tmpeol = loceol; | |||
| 9656 | hardcount++; | |||
| 9657 | } | |||
| 9658 | } | |||
| 9659 | else if (utf8_target) { | |||
| 9660 | if (c1 == c2) { | |||
| 9661 | while (scan < this_eol | |||
| 9662 | && hardcount < max | |||
| 9663 | && memEQ(scan, c1_utf8, UTF8_SAFE_SKIP(scan,(memcmp(((const void *) (scan)), ((const void *) (c1_utf8)), ( (((loceol) >= (scan)) ? (void)0 : __assert2("re_exec.c", 9664 , __func__, "(loceol) >= (scan)")), ((loceol) - (scan)) <= 0 ? 0 : (((((loceol) - (scan)))<(PL_utf8skip[*(const U8*) (scan)]))?(((loceol) - (scan))):(PL_utf8skip[*(const U8*)(scan )])))) == 0) | |||
| 9664 | loceol))(memcmp(((const void *) (scan)), ((const void *) (c1_utf8)), ( (((loceol) >= (scan)) ? (void)0 : __assert2("re_exec.c", 9664 , __func__, "(loceol) >= (scan)")), ((loceol) - (scan)) <= 0 ? 0 : (((((loceol) - (scan)))<(PL_utf8skip[*(const U8*) (scan)]))?(((loceol) - (scan))):(PL_utf8skip[*(const U8*)(scan )])))) == 0)) | |||
| 9665 | { | |||
| 9666 | scan += UTF8SKIP(c1_utf8)PL_utf8skip[*(const U8*)(c1_utf8)]; | |||
| 9667 | hardcount++; | |||
| 9668 | } | |||
| 9669 | } | |||
| 9670 | else { | |||
| 9671 | while (scan < this_eol | |||
| 9672 | && hardcount < max | |||
| 9673 | && ( memEQ(scan, c1_utf8, UTF8_SAFE_SKIP(scan,(memcmp(((const void *) (scan)), ((const void *) (c1_utf8)), ( (((loceol) >= (scan)) ? (void)0 : __assert2("re_exec.c", 9674 , __func__, "(loceol) >= (scan)")), ((loceol) - (scan)) <= 0 ? 0 : (((((loceol) - (scan)))<(PL_utf8skip[*(const U8*) (scan)]))?(((loceol) - (scan))):(PL_utf8skip[*(const U8*)(scan )])))) == 0) | |||
| 9674 | loceol))(memcmp(((const void *) (scan)), ((const void *) (c1_utf8)), ( (((loceol) >= (scan)) ? (void)0 : __assert2("re_exec.c", 9674 , __func__, "(loceol) >= (scan)")), ((loceol) - (scan)) <= 0 ? 0 : (((((loceol) - (scan)))<(PL_utf8skip[*(const U8*) (scan)]))?(((loceol) - (scan))):(PL_utf8skip[*(const U8*)(scan )])))) == 0) | |||
| 9675 | || memEQ(scan, c2_utf8, UTF8_SAFE_SKIP(scan,(memcmp(((const void *) (scan)), ((const void *) (c2_utf8)), ( (((loceol) >= (scan)) ? (void)0 : __assert2("re_exec.c", 9676 , __func__, "(loceol) >= (scan)")), ((loceol) - (scan)) <= 0 ? 0 : (((((loceol) - (scan)))<(PL_utf8skip[*(const U8*) (scan)]))?(((loceol) - (scan))):(PL_utf8skip[*(const U8*)(scan )])))) == 0) | |||
| 9676 | loceol))(memcmp(((const void *) (scan)), ((const void *) (c2_utf8)), ( (((loceol) >= (scan)) ? (void)0 : __assert2("re_exec.c", 9676 , __func__, "(loceol) >= (scan)")), ((loceol) - (scan)) <= 0 ? 0 : (((((loceol) - (scan)))<(PL_utf8skip[*(const U8*) (scan)]))?(((loceol) - (scan))):(PL_utf8skip[*(const U8*)(scan )])))) == 0))) | |||
| 9677 | { | |||
| 9678 | scan += UTF8_SAFE_SKIP(scan, loceol)((((loceol) >= (scan)) ? (void)0 : __assert2("re_exec.c", 9678 , __func__, "(loceol) >= (scan)")), ((loceol) - (scan)) <= 0 ? 0 : (((((loceol) - (scan)))<(PL_utf8skip[*(const U8*) (scan)]))?(((loceol) - (scan))):(PL_utf8skip[*(const U8*)(scan )]))); | |||
| 9679 | hardcount++; | |||
| 9680 | } | |||
| 9681 | } | |||
| 9682 | } | |||
| 9683 | else if (c1 == c2) { | |||
| 9684 | scan = (char *) find_span_endS_find_span_end((U8 *) scan, (U8 *) this_eol, (U8) c1); | |||
| 9685 | } | |||
| 9686 | else { | |||
| 9687 | /* See comments in regmatch() CURLY_B_min_known_fail. We avoid | |||
| 9688 | * a conditional each time through the loop if the characters | |||
| 9689 | * differ only in a single bit, as is the usual situation */ | |||
| 9690 | U8 c1_c2_bits_differing = c1 ^ c2; | |||
| 9691 | ||||
| 9692 | if (isPOWER_OF_2(c1_c2_bits_differing)((c1_c2_bits_differing) && ((c1_c2_bits_differing) & ((c1_c2_bits_differing)-1)) == 0)) { | |||
| 9693 | U8 c1_c2_mask = ~ c1_c2_bits_differing; | |||
| 9694 | ||||
| 9695 | scan = (char *) find_span_end_maskS_find_span_end_mask((U8 *) scan, | |||
| 9696 | (U8 *) this_eol, | |||
| 9697 | c1 & c1_c2_mask, | |||
| 9698 | c1_c2_mask); | |||
| 9699 | } | |||
| 9700 | else { | |||
| 9701 | while ( scan < this_eol | |||
| 9702 | && (UCHARAT(scan)((int)*(const U8*)(scan)) == c1 || UCHARAT(scan)((int)*(const U8*)(scan)) == c2)) | |||
| 9703 | { | |||
| 9704 | scan++; | |||
| 9705 | } | |||
| 9706 | } | |||
| 9707 | } | |||
| 9708 | } | |||
| 9709 | break; | |||
| 9710 | } | |||
| 9711 | case ANYOFPOSIXL21: | |||
| 9712 | case ANYOFL20: | |||
| 9713 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 9714 | ||||
| 9715 | if (ANYOFL_UTF8_LOCALE_REQD(FLAGS(p))((((p)->flags) & ( 0x04 |0x08)) == 0x08) && ! IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) { | |||
| 9716 | Perl_ck_warner(aTHX_ packWARN(WARN_LOCALE)(63 ), utf8_locale_required); | |||
| 9717 | } | |||
| 9718 | /* FALLTHROUGH */ | |||
| 9719 | case ANYOFD19: | |||
| 9720 | case ANYOF18: | |||
| 9721 | if (utf8_target) { | |||
| 9722 | while (hardcount < max | |||
| 9723 | && scan < this_eol | |||
| 9724 | && reginclass(prog, p, (U8*)scan, (U8*) this_eol, utf8_target)S_reginclass( prog,p,(U8*)scan,(U8*) this_eol,utf8_target)) | |||
| 9725 | { | |||
| 9726 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9727 | hardcount++; | |||
| 9728 | } | |||
| 9729 | } | |||
| 9730 | else if (ANYOF_FLAGS(p)((p)->flags) & ~ ANYOF_MATCHES_ALL_ABOVE_BITMAP0x20) { | |||
| 9731 | while (scan < this_eol | |||
| 9732 | && reginclass(prog, p, (U8*)scan, (U8*)scan+1, 0)S_reginclass( prog,p,(U8*)scan,(U8*)scan+1,0)) | |||
| 9733 | scan++; | |||
| 9734 | } | |||
| 9735 | else { | |||
| 9736 | while (scan < this_eol && ANYOF_BITMAP_TEST(p, *((U8*)scan))(((( (U8*) ((regnode_charclass*)(p))->bitmap) [ ( ( (UV) ( *((U8*)scan))) >> 3) ] ) & (1U << ((*((U8*)scan )) & 7))) ? (_Bool)1 : (_Bool)0)) | |||
| 9737 | scan++; | |||
| 9738 | } | |||
| 9739 | break; | |||
| 9740 | ||||
| 9741 | case ANYOFM28: | |||
| 9742 | if (utf8_target && this_eol - scan > max) { | |||
| 9743 | ||||
| 9744 | /* We didn't adjust <this_eol> at the beginning of this routine | |||
| 9745 | * because is UTF-8, but it is actually ok to do so, since here, to | |||
| 9746 | * match, 1 char == 1 byte. */ | |||
| 9747 | this_eol = scan + max; | |||
| 9748 | } | |||
| 9749 | ||||
| 9750 | scan = (char *) find_span_end_maskS_find_span_end_mask((U8 *) scan, (U8 *) this_eol, (U8) ARG(p)((((struct regnode_1 *)p)->arg1)), FLAGS(p)((p)->flags)); | |||
| 9751 | break; | |||
| 9752 | ||||
| 9753 | case NANYOFM29: | |||
| 9754 | if (utf8_target) { | |||
| 9755 | while ( hardcount < max | |||
| 9756 | && scan < this_eol | |||
| 9757 | && (*scan & FLAGS(p)((p)->flags)) != ARG(p)((((struct regnode_1 *)p)->arg1))) | |||
| 9758 | { | |||
| 9759 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9760 | hardcount++; | |||
| 9761 | } | |||
| 9762 | } | |||
| 9763 | else { | |||
| 9764 | scan = (char *) find_next_maskedS_find_next_masked((U8 *) scan, (U8 *) this_eol, (U8) ARG(p)((((struct regnode_1 *)p)->arg1)), FLAGS(p)((p)->flags)); | |||
| 9765 | } | |||
| 9766 | break; | |||
| 9767 | ||||
| 9768 | case ANYOFH22: | |||
| 9769 | if (utf8_target) { /* ANYOFH only can match UTF-8 targets */ | |||
| 9770 | while ( hardcount < max | |||
| 9771 | && scan < this_eol | |||
| 9772 | && NATIVE_UTF8_TO_I8(*scan)(((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 9772, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))) >= ANYOF_FLAGS(p)((p)->flags) | |||
| 9773 | && reginclass(prog, p, (U8*)scan, (U8*) this_eol, TRUE)S_reginclass( prog,p,(U8*)scan,(U8*) this_eol,(1))) | |||
| 9774 | { | |||
| 9775 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9776 | hardcount++; | |||
| 9777 | } | |||
| 9778 | } | |||
| 9779 | break; | |||
| 9780 | ||||
| 9781 | case ANYOFHb23: | |||
| 9782 | if (utf8_target) { /* ANYOFHb only can match UTF-8 targets */ | |||
| 9783 | ||||
| 9784 | /* we know the first byte must be the FLAGS field */ | |||
| 9785 | while ( hardcount < max | |||
| 9786 | && scan < this_eol | |||
| 9787 | && (U8) *scan == ANYOF_FLAGS(p)((p)->flags) | |||
| 9788 | && reginclass(prog, p, (U8*)scan, (U8*) this_eol,S_reginclass( prog,p,(U8*)scan,(U8*) this_eol,(1)) | |||
| 9789 | TRUE)S_reginclass( prog,p,(U8*)scan,(U8*) this_eol,(1))) | |||
| 9790 | { | |||
| 9791 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9792 | hardcount++; | |||
| 9793 | } | |||
| 9794 | } | |||
| 9795 | break; | |||
| 9796 | ||||
| 9797 | case ANYOFHr24: | |||
| 9798 | if (utf8_target) { /* ANYOFH only can match UTF-8 targets */ | |||
| 9799 | while ( hardcount < max | |||
| 9800 | && scan < this_eol | |||
| 9801 | && inRANGE(NATIVE_UTF8_TO_I8(*scan),((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - ((((( p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags )) & 3)))) >= ((((((p)->flags)) >> 2) + 0xC0) )) ? (void)0 : __assert2("re_exec.c", 9803, __func__, "(((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) >= ((((((p)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9801, __func__ , "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U8)) ? ((((NV) (((((((p) ->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*scan) == 1) || !(((U64)(( *scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*scan ) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U32)) ? ((((NV) (((((((p )->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*scan) == 1) || !(((U64)( (*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void) 0 : __assert2("re_exec.c", 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "sizeof((((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9801, __func__, \"( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))\")), ((U8) ((*scan) | 0)))) == sizeof(U64)" )), ((((NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*scan) == 1) || !(((U64)( (*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0)))))))) | |||
| 9802 | LOWEST_ANYOF_HRx_BYTE(ANYOF_FLAGS(p)),((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - ((((( p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags )) & 3)))) >= ((((((p)->flags)) >> 2) + 0xC0) )) ? (void)0 : __assert2("re_exec.c", 9803, __func__, "(((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) >= ((((((p)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9801, __func__ , "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U8)) ? ((((NV) (((((((p) ->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*scan) == 1) || !(((U64)(( *scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*scan ) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U32)) ? ((((NV) (((((((p )->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*scan) == 1) || !(((U64)( (*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void) 0 : __assert2("re_exec.c", 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "sizeof((((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9801, __func__, \"( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))\")), ((U8) ((*scan) | 0)))) == sizeof(U64)" )), ((((NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*scan) == 1) || !(((U64)( (*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0)))))))) | |||
| 9803 | HIGHEST_ANYOF_HRx_BYTE(ANYOF_FLAGS(p)))((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - ((((( p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags )) & 3)))) >= ((((((p)->flags)) >> 2) + 0xC0) )) ? (void)0 : __assert2("re_exec.c", 9803, __func__, "(((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) >= ((((((p)->flags)) >> 2) + 0xC0))" )), ( (sizeof((((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9801, __func__ , "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U8)) ? ((((NV) (((((((p) ->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*scan) == 1) || !(((U64)(( *scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0))))) : (sizeof((((( (sizeof(*scan ) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U32)) ? ((((NV) (((((((p )->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*scan) == 1) || !(((U64)( (*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0))))) : (((sizeof((((( (sizeof(* scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void) 0 : __assert2("re_exec.c", 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9803, __func__, "sizeof((((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9801, __func__, \"( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))\")), ((U8) ((*scan) | 0)))) == sizeof(U64)" )), ((((NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__, "(NV) (((((((p)->flags)) >> 2) + 0xC0))) >= 0" )), (((NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)-> flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0 )))) >= 0) ? (void)0 : __assert2("re_exec.c", 9803, __func__ , "(NV) (((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0)) >> ((((p)->flags)) & 3)))) - ((((((p)->flags)) >> 2) + 0xC0)))) >= 0" )), (((U64) (((((U64) ((((( (sizeof(*scan) == 1) || !(((U64)( (*scan) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9801, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))))))) - ((((((((p)->flags)) >> 2) + 0xC0))) | 0))) <= (((U64) ((((((((((p)->flags)) >> 2) + 0xC0) + ((0xEF - (((((p)->flags)) >> 2) + 0xC0 )) >> ((((p)->flags)) & 3)))) - ((((((p)->flags )) >> 2) + 0xC0)))) | 0)))))))) | |||
| 9804 | && NATIVE_UTF8_TO_I8(*scan)(((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 9804, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))) >= ANYOF_FLAGS(p)((p)->flags) | |||
| 9805 | && reginclass(prog, p, (U8*)scan, (U8*) this_eol, TRUE)S_reginclass( prog,p,(U8*)scan,(U8*) this_eol,(1))) | |||
| 9806 | { | |||
| 9807 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9808 | hardcount++; | |||
| 9809 | } | |||
| 9810 | } | |||
| 9811 | break; | |||
| 9812 | ||||
| 9813 | case ANYOFHs25: | |||
| 9814 | if (utf8_target) { /* ANYOFH only can match UTF-8 targets */ | |||
| 9815 | while ( hardcount < max | |||
| 9816 | && scan + FLAGS(p)((p)->flags) < this_eol | |||
| 9817 | && memEQ(scan, ((struct regnode_anyofhs *) p)->string, FLAGS(p))(memcmp(((const void *) (scan)), ((const void *) (((struct regnode_anyofhs *) p)->string)), ((p)->flags)) == 0) | |||
| 9818 | && reginclass(prog, p, (U8*)scan, (U8*) this_eol, TRUE)S_reginclass( prog,p,(U8*)scan,(U8*) this_eol,(1))) | |||
| 9819 | { | |||
| 9820 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9821 | hardcount++; | |||
| 9822 | } | |||
| 9823 | } | |||
| 9824 | break; | |||
| 9825 | ||||
| 9826 | case ANYOFR26: | |||
| 9827 | if (utf8_target) { | |||
| 9828 | while ( hardcount < max | |||
| 9829 | && scan < this_eol | |||
| 9830 | && NATIVE_UTF8_TO_I8(*scan)(((( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 9830, __func__, "( (sizeof(*scan) == 1) || !(((U64)((*scan) | 0)) & ~0xFF))" )), ((U8) ((*scan) | 0))) >= ANYOF_FLAGS(p)((p)->flags) | |||
| 9831 | && withinCOUNT(utf8_to_uvchr_buf((U8 *) scan,((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0))))) | |||
| 9832 | (U8 *) this_eol,((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0))))) | |||
| 9833 | NULL),((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0))))) | |||
| 9834 | ANYOFRbase(p), ANYOFRdelta(p))((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9834, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0)))))) | |||
| 9835 | { | |||
| 9836 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9837 | hardcount++; | |||
| 9838 | } | |||
| 9839 | } | |||
| 9840 | else { | |||
| 9841 | while ( hardcount < max | |||
| 9842 | && scan < this_eol | |||
| 9843 | && withinCOUNT((U8) *scan, ANYOFRbase(p), ANYOFRdelta(p))((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9843, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9843, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *scan)) - (((((((struct regnode_1 *)p)-> arg1)) & ((1 << 20) - 1))) | 0))) <= (((U64) ((( ((((struct regnode_1 *)p)->arg1)) >> 20)) | 0)))))) | |||
| 9844 | { | |||
| 9845 | scan++; | |||
| 9846 | hardcount++; | |||
| 9847 | } | |||
| 9848 | } | |||
| 9849 | break; | |||
| 9850 | ||||
| 9851 | case ANYOFRb27: | |||
| 9852 | if (utf8_target) { | |||
| 9853 | while ( hardcount < max | |||
| 9854 | && scan < this_eol | |||
| 9855 | && (U8) *scan == ANYOF_FLAGS(p)((p)->flags) | |||
| 9856 | && withinCOUNT(utf8_to_uvchr_buf((U8 *) scan,((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0))))) | |||
| 9857 | (U8 *) this_eol,((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0))))) | |||
| 9858 | NULL),((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0))))) | |||
| 9859 | ANYOFRbase(p), ANYOFRdelta(p))((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9859, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) (((Perl_utf8_to_uvchr_buf_helper( (const U8 *) (( U8 *) scan),(const U8 *) (U8 *) this_eol,((void*)0)))) - (((( (((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1 ))) | 0))) <= (((U64) (((((((struct regnode_1 *)p)->arg1 )) >> 20)) | 0)))))) | |||
| 9860 | { | |||
| 9861 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9862 | hardcount++; | |||
| 9863 | } | |||
| 9864 | } | |||
| 9865 | else { | |||
| 9866 | while ( hardcount < max | |||
| 9867 | && scan < this_eol | |||
| 9868 | && withinCOUNT((U8) *scan, ANYOFRbase(p), ANYOFRdelta(p))((((NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0) ? (void)0 : __assert2("re_exec.c", 9868, __func__, "(NV) ((((((struct regnode_1 *)p)->arg1)) & ((1 << 20) - 1))) >= 0" )), (((NV) ((((((struct regnode_1 *)p)->arg1)) >> 20 )) >= 0) ? (void)0 : __assert2("re_exec.c", 9868, __func__ , "(NV) ((((((struct regnode_1 *)p)->arg1)) >> 20)) >= 0" )), (((U64) ((((U8) *scan)) - (((((((struct regnode_1 *)p)-> arg1)) & ((1 << 20) - 1))) | 0))) <= (((U64) ((( ((((struct regnode_1 *)p)->arg1)) >> 20)) | 0)))))) | |||
| 9869 | { | |||
| 9870 | scan++; | |||
| 9871 | hardcount++; | |||
| 9872 | } | |||
| 9873 | } | |||
| 9874 | break; | |||
| 9875 | ||||
| 9876 | /* The argument (FLAGS) to all the POSIX node types is the class number */ | |||
| 9877 | ||||
| 9878 | case NPOSIXL35: | |||
| 9879 | to_complement = 1; | |||
| 9880 | /* FALLTHROUGH */ | |||
| 9881 | ||||
| 9882 | case POSIXL31: | |||
| 9883 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 9884 | if (! utf8_target) { | |||
| 9885 | while (scan < this_eol && to_complement ^ cBOOL(isFOO_lc(FLAGS(p),((Perl_isFOO_lc( ((p)->flags),*scan)) ? (_Bool)1 : (_Bool) 0) | |||
| 9886 | *scan))((Perl_isFOO_lc( ((p)->flags),*scan)) ? (_Bool)1 : (_Bool) 0)) | |||
| 9887 | { | |||
| 9888 | scan++; | |||
| 9889 | } | |||
| 9890 | } else { | |||
| 9891 | while (hardcount < max && scan < this_eol | |||
| 9892 | && to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(p),((S_isFOO_utf8_lc( ((p)->flags),(U8 *) scan,(U8 *) this_eol )) ? (_Bool)1 : (_Bool)0) | |||
| 9893 | (U8 *) scan,((S_isFOO_utf8_lc( ((p)->flags),(U8 *) scan,(U8 *) this_eol )) ? (_Bool)1 : (_Bool)0) | |||
| 9894 | (U8 *) this_eol))((S_isFOO_utf8_lc( ((p)->flags),(U8 *) scan,(U8 *) this_eol )) ? (_Bool)1 : (_Bool)0)) | |||
| 9895 | { | |||
| 9896 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9897 | hardcount++; | |||
| 9898 | } | |||
| 9899 | } | |||
| 9900 | break; | |||
| 9901 | ||||
| 9902 | case POSIXD30: | |||
| 9903 | if (utf8_target) { | |||
| 9904 | goto utf8_posix; | |||
| 9905 | } | |||
| 9906 | /* FALLTHROUGH */ | |||
| 9907 | ||||
| 9908 | case POSIXA33: | |||
| 9909 | if (utf8_target && this_eol - scan > max) { | |||
| 9910 | ||||
| 9911 | /* We didn't adjust <this_eol> at the beginning of this routine | |||
| 9912 | * because is UTF-8, but it is actually ok to do so, since here, to | |||
| 9913 | * match, 1 char == 1 byte. */ | |||
| 9914 | this_eol = scan + max; | |||
| 9915 | } | |||
| 9916 | while (scan < this_eol && _generic_isCC_A((U8) *scan, FLAGS(p))(( (sizeof((U8) *scan) == 1) || !(((U64)(((U8) *scan) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *scan)] & ( (1U << (((p)->flags))) | (1U << (14)))) == ((1U << (((p)->flags))) | (1U << (14)))))) { | |||
| 9917 | scan++; | |||
| 9918 | } | |||
| 9919 | break; | |||
| 9920 | ||||
| 9921 | case NPOSIXD34: | |||
| 9922 | if (utf8_target) { | |||
| 9923 | to_complement = 1; | |||
| 9924 | goto utf8_posix; | |||
| 9925 | } | |||
| 9926 | /* FALLTHROUGH */ | |||
| 9927 | ||||
| 9928 | case NPOSIXA37: | |||
| 9929 | if (! utf8_target) { | |||
| 9930 | while (scan < this_eol && ! _generic_isCC_A((U8) *scan, FLAGS(p))(( (sizeof((U8) *scan) == 1) || !(((U64)(((U8) *scan) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *scan)] & ( (1U << (((p)->flags))) | (1U << (14)))) == ((1U << (((p)->flags))) | (1U << (14)))))) { | |||
| 9931 | scan++; | |||
| 9932 | } | |||
| 9933 | } | |||
| 9934 | else { | |||
| 9935 | ||||
| 9936 | /* The complement of something that matches only ASCII matches all | |||
| 9937 | * non-ASCII, plus everything in ASCII that isn't in the class. */ | |||
| 9938 | while (hardcount < max && scan < this_eol | |||
| 9939 | && ( ! isASCII_utf8_safe(scan, loceol)(((((loceol) > (scan))) ? (void)0 : __assert2("re_exec.c", 9939, __func__, "((loceol) > (scan))")), ((U64)((*(scan)) | 0) < 128)) | |||
| 9940 | || ! _generic_isCC_A((U8) *scan, FLAGS(p))(( (sizeof((U8) *scan) == 1) || !(((U64)(((U8) *scan) | 0)) & ~0xFF)) && ((PL_charclass[(U8) ((U8) *scan)] & ( (1U << (((p)->flags))) | (1U << (14)))) == ((1U << (((p)->flags))) | (1U << (14))))))) | |||
| 9941 | { | |||
| 9942 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9943 | hardcount++; | |||
| 9944 | } | |||
| 9945 | } | |||
| 9946 | break; | |||
| 9947 | ||||
| 9948 | case NPOSIXU36: | |||
| 9949 | to_complement = 1; | |||
| 9950 | /* FALLTHROUGH */ | |||
| 9951 | ||||
| 9952 | case POSIXU32: | |||
| 9953 | if (! utf8_target) { | |||
| 9954 | while (scan < this_eol && to_complement | |||
| 9955 | ^ cBOOL(_generic_isCC((U8) *scan, FLAGS(p)))((((( (sizeof((U8) *scan) == 1) || !(((U64)(((U8) *scan) | 0) ) & ~0xFF)) && (PL_charclass[(U8) ((U8) *scan)] & (1U << (((p)->flags))))) ? (_Bool)1 : (_Bool)0)) ? ( _Bool)1 : (_Bool)0)) | |||
| 9956 | { | |||
| 9957 | scan++; | |||
| 9958 | } | |||
| 9959 | } | |||
| 9960 | else { | |||
| 9961 | utf8_posix: | |||
| 9962 | classnum = (_char_class_number) FLAGS(p)((p)->flags); | |||
| 9963 | switch (classnum) { | |||
| 9964 | default: | |||
| 9965 | while ( hardcount < max && scan < this_eol | |||
| 9966 | && to_complement ^ cBOOL(_invlist_contains_cp(((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) scan),(const U8 *) (U8 *) this_eol,((void *)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 9967 | PL_XPosix_ptrs[classnum],((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) scan),(const U8 *) (U8 *) this_eol,((void *)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 9968 | utf8_to_uvchr_buf((U8 *) scan,((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) scan),(const U8 *) (U8 *) this_eol,((void *)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 9969 | (U8 *) this_eol,((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) scan),(const U8 *) (U8 *) this_eol,((void *)0)))) ? (_Bool)1 : (_Bool)0) | |||
| 9970 | NULL)))((S__invlist_contains_cp( PL_XPosix_ptrs[classnum], Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((U8 *) scan),(const U8 *) (U8 *) this_eol,((void *)0)))) ? (_Bool)1 : (_Bool)0)) | |||
| 9971 | { | |||
| 9972 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9973 | hardcount++; | |||
| 9974 | } | |||
| 9975 | break; | |||
| 9976 | ||||
| 9977 | /* For the classes below, the knowledge of how to handle | |||
| 9978 | * every code point is compiled in to Perl via a macro. | |||
| 9979 | * This code is written for making the loops as tight as | |||
| 9980 | * possible. It could be refactored to save space instead. | |||
| 9981 | * */ | |||
| 9982 | ||||
| 9983 | case _CC_ENUM_SPACE: | |||
| 9984 | while (hardcount < max | |||
| 9985 | && scan < this_eol | |||
| 9986 | && (to_complement | |||
| 9987 | ^ cBOOL(isSPACE_utf8_safe(scan, this_eol))((((! ((this_eol) > (scan))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : (((((U64)(((UV) ( ((*(scan)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 )))) ? ((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(scan))] & (1U << (10)))) ? (_Bool)1 : (_Bool)0) : ((((( (sizeof( *(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((this_eol) - (scan) > 1 && (((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan )+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+ 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1)) | 0))) & ((U8) (0xFF << 6) )) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : ( _Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 9987, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(scan )) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 9987, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 9987, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9987, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (10)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( scan),(U8 *) (this_eol),0,1), 0)) : (__builtin_expect((((this_eol ) - (scan) < PL_utf8skip[*(const U8*)(scan)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : ( ( 0xE1 == ((const U8 *)scan)[0] ) ? ( ( ( 0x9A == ((const U8*)scan)[1] ) && ( 0x80 == ((const U8*)scan)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)scan)[0] ) ? ( ( 0x80 == ((const U8*)scan)[1] ) ? ( ( (( ((0x8A) >= (0x80)) ? (void)0 : __assert2("re_exec.c", 9987 , __func__, "(0x8A) >= (0x80)")), ( (sizeof(((const U8*)scan )[2]) == sizeof(U8)) ? ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "(NV) ((0x80)) >= 0")), (((NV ) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) (((0x8A) - (0x80))) >= 0")), (((U64 ) (((((U8) (((const U8*)scan)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (sizeof(((const U8*) scan)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void )0 : __assert2("re_exec.c", 9987, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 9987, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)scan)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0)))))))) || ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)scan)[2]) == sizeof(U8)) ? ((((NV) ( (0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[2])))) - (((0xA8)) | 0 ))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)scan)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? ( void)0 : __assert2("re_exec.c", 9987, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9987, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 9987, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9987, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 9987, __func__ , "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) (((((U64) ((( const U8*)scan)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9 ) - (0xA8))) | 0)))))))) || 0xAF == ((const U8*)scan)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)scan)[1] ) && ( 0x9F == ((const U8*)scan)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)scan)[0] ) && ( 0x80 == ((const U8*)scan)[1] ) ) && ( 0x80 == ((const U8*)scan)[2] ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool)0))) | |||
| 9988 | { | |||
| 9989 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 9990 | hardcount++; | |||
| 9991 | } | |||
| 9992 | break; | |||
| 9993 | case _CC_ENUM_BLANK: | |||
| 9994 | while (hardcount < max | |||
| 9995 | && scan < this_eol | |||
| 9996 | && (to_complement | |||
| 9997 | ^ cBOOL(isBLANK_utf8_safe(scan, this_eol))((((! ((this_eol) > (scan))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : (((((U64)(((UV) ( ((*(scan)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 )))) ? ((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(scan))] & (1U << (11)))) ? (_Bool)1 : (_Bool)0) : ((((( (sizeof( *(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((this_eol) - (scan) > 1 && (((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan )+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+ 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1)) | 0))) & ((U8) (0xFF << 6) )) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : ( _Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 9997, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(scan )) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 9997, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 9997, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 9997, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 9997, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (11)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( scan),(U8 *) (this_eol),0,1), 0)) : (__builtin_expect((((this_eol ) - (scan) < PL_utf8skip[*(const U8*)(scan)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : ( ( 0xE1 == ((const U8 *)scan)[0] ) ? ( ( ( 0x9A == ((const U8*)scan)[1] ) && ( 0x80 == ((const U8*)scan)[2] ) ) ? 3 : 0 ): ( 0xE2 == ((const U8*)scan)[0] ) ? ( ( 0x80 == ((const U8*)scan)[1] ) ? ( ( (( ((0x8A) >= (0x80)) ? (void)0 : __assert2("re_exec.c", 9997 , __func__, "(0x8A) >= (0x80)")), ( (sizeof(((const U8*)scan )[2]) == sizeof(U8)) ? ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "(NV) ((0x80)) >= 0")), (((NV ) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) (((0x8A) - (0x80))) >= 0")), (((U64 ) (((((U8) (((const U8*)scan)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (sizeof(((const U8*) scan)[2]) == sizeof(U32)) ? ((((NV) ((0x80)) >= 0) ? (void )0 : __assert2("re_exec.c", 9997, __func__, "(NV) ((0x80)) >= 0" )), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 9997, __func__, "(NV) (((0x8A) - (0x80))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A) - (0x80))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 9997, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0x80)) >= 0) ? (void)0 : __assert2("re_exec.c" , 9997, __func__, "(NV) ((0x80)) >= 0")), (((NV) (((0x8A) - (0x80))) >= 0) ? (void)0 : __assert2("re_exec.c", 9997, __func__ , "(NV) (((0x8A) - (0x80))) >= 0")), (((U64) (((((U64) ((( const U8*)scan)[2])))) - (((0x80)) | 0))) <= (((U64) ((((0x8A ) - (0x80))) | 0)))))))) || 0xAF == ((const U8*)scan)[2] ) ? 3 : 0 ) : ( ( 0x81 == ((const U8*)scan)[1] ) && ( 0x9F == ((const U8*)scan)[2] ) ) ? 3 : 0 ): ( ( ( 0xE3 == ((const U8*)scan)[0] ) && ( 0x80 == ((const U8*)scan)[1] ) ) && ( 0x80 == ((const U8*)scan)[2] ) ) ? 3 : 0 ))))) ? (_Bool)1 : (_Bool)0))) | |||
| 9998 | { | |||
| 9999 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 10000 | hardcount++; | |||
| 10001 | } | |||
| 10002 | break; | |||
| 10003 | case _CC_ENUM_XDIGIT: | |||
| 10004 | while (hardcount < max | |||
| 10005 | && scan < this_eol | |||
| 10006 | && (to_complement | |||
| 10007 | ^ cBOOL(isXDIGIT_utf8_safe(scan, this_eol))(((((((this_eol) > (scan))) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "((this_eol) > (scan))")), (((((U64)((( UV) (((*(scan)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) ? ((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(scan))] & (1U << (12)))) ? (_Bool)1 : (_Bool)0) : ((((( (sizeof( *(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 10007, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10007 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10007 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10007, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10007, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10007, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10007, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10007, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((this_eol) - (scan) < PL_utf8skip[*(const U8*)(scan)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : ( ( 0xEF == ((const U8*)scan)[0] ) ? ( ( 0xBC == ((const U8*)scan)[1] ) ? ( ( ((((0x99) >= (0x90 )) ? (void)0 : __assert2("re_exec.c", 10007, __func__, "(0x99) >= (0x90)" )), ( (sizeof(((const U8*)scan)[2]) == sizeof(U8)) ? ((((NV) ( (0x90)) >= 0) ? (void)0 : __assert2("re_exec.c", 10007, __func__ , "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 10007, __func__, "(NV) (((0x99) - (0x90))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[2])))) - (((0x90)) | 0 ))) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (sizeof(((const U8*)scan)[2]) == sizeof(U32)) ? ((((NV) ((0x90)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10007, __func__, "(NV) ((0x90)) >= 0" )), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10007, __func__, "(NV) (((0x99) - (0x90))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0x90)) | 0))) <= (((U64) ((((0x99) - (0x90))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10007, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0x90)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "(NV) ((0x90)) >= 0")), (((NV) (((0x99) - (0x90))) >= 0) ? (void)0 : __assert2("re_exec.c", 10007 , __func__, "(NV) (((0x99) - (0x90))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[2])))) - (((0x90)) | 0))) <= ((( U64) ((((0x99) - (0x90))) | 0)))))))) || ((((0xA6) >= (0xA1 )) ? (void)0 : __assert2("re_exec.c", 10007, __func__, "(0xA6) >= (0xA1)" )), ( (sizeof(((const U8*)scan)[2]) == sizeof(U8)) ? ((((NV) ( (0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c", 10007, __func__ , "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 10007, __func__, "(NV) (((0xA6) - (0xA1))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[2])))) - (((0xA1)) | 0 ))) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : (sizeof(((const U8*)scan)[2]) == sizeof(U32)) ? ((((NV) ((0xA1)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10007, __func__, "(NV) ((0xA1)) >= 0" )), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10007, __func__, "(NV) (((0xA6) - (0xA1))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0xA1)) | 0))) <= (((U64) ((((0xA6) - (0xA1))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10007, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0xA1)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "(NV) ((0xA1)) >= 0")), (((NV) (((0xA6) - (0xA1))) >= 0) ? (void)0 : __assert2("re_exec.c", 10007 , __func__, "(NV) (((0xA6) - (0xA1))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[2])))) - (((0xA1)) | 0))) <= ((( U64) ((((0xA6) - (0xA1))) | 0)))))))) ) ? 3 : 0 ) : ( ( 0xBD == ((const U8*)scan)[1] ) && ( ((((0x86) >= (0x81)) ? (void)0 : __assert2("re_exec.c", 10007, __func__, "(0x86) >= (0x81)" )), ( (sizeof(((const U8*)scan)[2]) == sizeof(U8)) ? ((((NV) ( (0x81)) >= 0) ? (void)0 : __assert2("re_exec.c", 10007, __func__ , "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c", 10007, __func__, "(NV) (((0x86) - (0x81))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[2])))) - (((0x81)) | 0 ))) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (sizeof(((const U8*)scan)[2]) == sizeof(U32)) ? ((((NV) ((0x81)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10007, __func__, "(NV) ((0x81)) >= 0" )), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10007, __func__, "(NV) (((0x86) - (0x81))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0x81)) | 0))) <= (((U64) ((((0x86) - (0x81))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10007, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0x81)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10007, __func__, "(NV) ((0x81)) >= 0")), (((NV) (((0x86) - (0x81))) >= 0) ? (void)0 : __assert2("re_exec.c", 10007 , __func__, "(NV) (((0x86) - (0x81))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[2])))) - (((0x81)) | 0))) <= ((( U64) ((((0x86) - (0x81))) | 0)))))))) ) ) ? 3 : 0 ): 0 )))) ? (_Bool)1 : (_Bool)0))) | |||
| 10008 | { | |||
| 10009 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 10010 | hardcount++; | |||
| 10011 | } | |||
| 10012 | break; | |||
| 10013 | case _CC_ENUM_VERTSPACE: | |||
| 10014 | while (hardcount < max | |||
| 10015 | && scan < this_eol | |||
| 10016 | && (to_complement | |||
| 10017 | ^ cBOOL(isVERTWS_utf8_safe(scan, this_eol))((((! ((this_eol) > (scan))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : (((((U64)(((UV) ( ((*(scan)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 )))) ? ((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(scan))] & (1U << (15)))) ? (_Bool)1 : (_Bool)0) : ((((( (sizeof( *(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((this_eol) - (scan) > 1 && (((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan )+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+ 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1)) | 0))) & ((U8) (0xFF << 6) )) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : ( _Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 10017, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(scan )) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 10017, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 10017, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10017, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10017, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (15)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( scan),(U8 *) (this_eol),0,1), 0)) : (__builtin_expect((((this_eol ) - (scan) < PL_utf8skip[*(const U8*)(scan)]) ? (_Bool)1 : (_Bool)0),(0)) ? (Perl__force_out_malformed_utf8_message( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : ( ( ( ( 0xE2 == ((const U8*)scan)[0] ) && ( 0x80 == ((const U8*)scan)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(0xA9) >= (0xA8)")), ( (sizeof(((const U8*)scan)[2]) == sizeof(U8)) ? ((((NV) ((0xA8)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10017, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[2])))) - (((0xA8)) | 0 ))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)scan)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10017, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10017, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10017, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10017, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 10017 , __func__, "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[2])))) - (((0xA8)) | 0))) <= ((( U64) ((((0xA9) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ))))) ? (_Bool )1 : (_Bool)0))) | |||
| 10018 | { | |||
| 10019 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 10020 | hardcount++; | |||
| 10021 | } | |||
| 10022 | break; | |||
| 10023 | case _CC_ENUM_CNTRL: | |||
| 10024 | while (hardcount < max | |||
| 10025 | && scan < this_eol | |||
| 10026 | && (to_complement | |||
| 10027 | ^ cBOOL(isCNTRL_utf8_safe(scan, this_eol))((((! ((this_eol) > (scan))) ? (Perl__force_out_malformed_utf8_message ( (U8 *) (scan),(U8 *) (this_eol),0,1), 0) : (((((U64)(((UV) ( ((*(scan)) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0 )))) ? ((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*(scan))] & (1U << (13)))) ? (_Bool)1 : (_Bool)0) : ((((( (sizeof( *(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? ( void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((this_eol) - (scan) > 1 && (((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan )+1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+ 1)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*((scan)+1)) == 1) || !(((U64)((*((scan)+1)) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1)) | 0))) & ((U8) (0xFF << 6) )) == (((U8) (0xFF << 6)) & 0xB0))))) ? (_Bool)1 : ( _Bool)0),(1))) ? ((( (sizeof(( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 10027, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) == 1) || !(((U64)((( (((((( (sizeof(*(scan )) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 10027, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0))))) | 0)) & ~0xFF)) && (PL_charclass [(U8) (( (((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))" )), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) ((((((( U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64) ((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*( scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((( (U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7 ) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0" )), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)(( *(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)" )), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) )) >= 0) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0" )), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : (( U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) ( 0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64 )((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 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)))))))))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "(((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) >= ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))\")), ( (sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U8)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U8) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U32)) ? ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0\")), (((U64) (((((U32) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"sizeof((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\\\"re_exec.c\\\", 10027, __func__, \\\"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\\\")), ((U8) ((*(scan)) | 0)))) == sizeof(U64)\")), ((((NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))))) >= 0\")), (((NV) (((((0x100 >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2)))))) - 1) - ((((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"(NV) (((((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) ((((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 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(*((scan)+1 )) == 1) || !(((U64)((*((scan)+ 1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027 , __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan) +1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))" )), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6 ))) == (((U8) (0xFF << 6)) & 0xB0))))) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "(((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((((((( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*((scan)+1 )) == 1) || !(((U64)((*((scan)+1 )) | 0)) & ~0xFF))\")), ((U8) ((*((scan)+1 )) | 0))) & ((U8) (0xFF << 6))) == (((U8) (0xFF << 6)) & 0xB0))))" )), (((( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64 )(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2 ("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void )0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) == 1) || !(((U64)(((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))\")), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2(\"re_exec.c\", 10027, __func__, \"( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))\")), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)) & ~0xFF))" )), ((U8) (((((( (sizeof((*((scan)+1 ))) == 1) || !(((U64)((( *((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c" , 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((( (((( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0 )) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__ , "( (sizeof(*(scan)) == 1) || !(((U64)((*(scan)) | 0)) & ~0xFF))" )), ((U8) ((*(scan)) | 0))) & (((2) >= 7) ? 0x00 : (0x1F >> ((2)-2))))) << 6) | (((((( (sizeof((*((scan)+ 1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10027, __func__, "( (sizeof((*((scan)+1 ))) == 1) || !(((U64)(((*((scan)+1 ))) | 0)) & ~0xFF))" )), ((U8) (((*((scan)+1 ))) | 0)))) & ((U8) ((1U << 6) - 1))))) | 0)))))] & (1U << (13)))) ? (_Bool)1 : (_Bool)0) : (Perl__force_out_malformed_utf8_message( (U8 *) ( scan),(U8 *) (this_eol),0,1), 0)) : 0))) ? (_Bool)1 : (_Bool) 0))) | |||
| 10028 | { | |||
| 10029 | scan += UTF8SKIP(scan)PL_utf8skip[*(const U8*)(scan)]; | |||
| 10030 | hardcount++; | |||
| 10031 | } | |||
| 10032 | break; | |||
| 10033 | } | |||
| 10034 | } | |||
| 10035 | break; | |||
| 10036 | ||||
| 10037 | case LNBREAK106: | |||
| 10038 | if (utf8_target) { | |||
| 10039 | while (hardcount < max && scan < this_eol && | |||
| 10040 | (c=is_LNBREAK_utf8_safe(scan, this_eol)( ((this_eol)-(scan) > 2) ? ( ( ((((0x0C) >= (0x0A)) ? ( void)0 : __assert2("re_exec.c", 10040, __func__, "(0x0C) >= (0x0A)" )), ( (sizeof(((const U8*)scan)[0]) == sizeof(U8)) ? ((((NV) ( (0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 10040, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 10040, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[0])))) - (((0x0A)) | 0 ))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)scan)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10040, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10040, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof (((const U8*)scan)[0]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10040, __func__, "sizeof(((const U8*)scan)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10040, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 10040 , __func__, "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= ((( U64) ((((0x0C) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)scan)[0] ) ? ( ( 0x0A == ((const U8*)scan)[1] ) ? 2 : 1 ) : ( 0xC2 == ((const U8*)scan)[0] ) ? ( ( 0x85 == ((const U8* )scan)[1] ) ? 2 : 0 ) : ( ( ( 0xE2 == ((const U8*)scan)[0] ) && ( 0x80 == ((const U8*)scan)[1] ) ) && ( ((((0xA9) >= (0xA8)) ? (void)0 : __assert2("re_exec.c", 10040, __func__, "(0xA9) >= (0xA8)" )), ( (sizeof(((const U8*)scan)[2]) == sizeof(U8)) ? ((((NV) ( (0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c", 10040, __func__ , "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 10040, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[2])))) - (((0xA8)) | 0 ))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (sizeof(((const U8*)scan)[2]) == sizeof(U32)) ? ((((NV) ((0xA8)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10040, __func__, "(NV) ((0xA8)) >= 0" )), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10040, __func__, "(NV) (((0xA9) - (0xA8))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[2])))) - (((0xA8)) | 0))) <= (((U64) ((((0xA9) - (0xA8))) | 0))))) : (((sizeof (((const U8*)scan)[2]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10040, __func__, "sizeof(((const U8*)scan)[2]) == sizeof(U64)" )), ((((NV) ((0xA8)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10040, __func__, "(NV) ((0xA8)) >= 0")), (((NV) (((0xA9) - (0xA8))) >= 0) ? (void)0 : __assert2("re_exec.c", 10040 , __func__, "(NV) (((0xA9) - (0xA8))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[2])))) - (((0xA8)) | 0))) <= ((( U64) ((((0xA9) - (0xA8))) | 0)))))))) ) ) ? 3 : 0 ): ((this_eol )-(scan) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void)0 : __assert2 ("re_exec.c", 10040, __func__, "(0x0C) >= (0x0A)")), ( (sizeof (((const U8*)scan)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 10040, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10040, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[0])))) - (((0x0A)) | 0 ))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)scan)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10040, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10040, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof (((const U8*)scan)[0]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10040, __func__, "sizeof(((const U8*)scan)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10040, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 10040 , __func__, "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= ((( U64) ((((0x0C) - (0x0A))) | 0)))))))) ) ? 1 : ( 0x0D == ((const U8*)scan)[0] ) ? ( ( 0x0A == ((const U8*)scan)[1] ) ? 2 : 1 ) : ( ( 0xC2 == ((const U8*)scan)[0] ) && ( 0x85 == (( const U8*)scan)[1] ) ) ? 2 : 0 ): ((this_eol)-(scan) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c", 10040, __func__, "(0x0D) >= (0x0A)")), ( (sizeof(((const U8 *)scan)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? (void )0 : __assert2("re_exec.c", 10040, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10040, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[0])))) - (((0x0A)) | 0 ))) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)scan)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10040, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10040, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof (((const U8*)scan)[0]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10040, __func__, "sizeof(((const U8*)scan)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10040, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 10040 , __func__, "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= ((( U64) ((((0x0D) - (0x0A))) | 0)))))))) ) : 0 ))) { | |||
| 10041 | scan += c; | |||
| 10042 | hardcount++; | |||
| 10043 | } | |||
| 10044 | } else { | |||
| 10045 | /* LNBREAK can match one or two latin chars, which is ok, but we | |||
| 10046 | * have to use hardcount in this situation, and throw away the | |||
| 10047 | * adjustment to <this_eol> done before the switch statement */ | |||
| 10048 | while (scan < loceol && (c=is_LNBREAK_latin1_safe(scan, loceol)( ((loceol)-(scan) > 1) ? ( ( ((((0x0C) >= (0x0A)) ? (void )0 : __assert2("re_exec.c", 10048, __func__, "(0x0C) >= (0x0A)" )), ( (sizeof(((const U8*)scan)[0]) == sizeof(U8)) ? ((((NV) ( (0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c", 10048, __func__ , "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 10048, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[0])))) - (((0x0A)) | 0 ))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (sizeof(((const U8*)scan)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10048, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10048, __func__, "(NV) (((0x0C) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0C) - (0x0A))) | 0))))) : (((sizeof (((const U8*)scan)[0]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10048, __func__, "sizeof(((const U8*)scan)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10048, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0C) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 10048 , __func__, "(NV) (((0x0C) - (0x0A))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= ((( U64) ((((0x0C) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*) scan)[0] ) ? 1 : ( 0x0D == ((const U8*)scan)[0] ) ? ( ( 0x0A == ((const U8*)scan)[1] ) ? 2 : 1 ) : 0 ) : ((loceol)-(scan) > 0) ? ( ((((0x0D) >= (0x0A)) ? (void)0 : __assert2("re_exec.c" , 10048, __func__, "(0x0D) >= (0x0A)")), ( (sizeof(((const U8*)scan)[0]) == sizeof(U8)) ? ((((NV) ((0x0A)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10048, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10048, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U8) (((const U8*)scan)[0])))) - (((0x0A)) | 0 ))) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (sizeof(((const U8*)scan)[0]) == sizeof(U32)) ? ((((NV) ((0x0A)) >= 0) ? ( void)0 : __assert2("re_exec.c", 10048, __func__, "(NV) ((0x0A)) >= 0" )), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10048, __func__, "(NV) (((0x0D) - (0x0A))) >= 0" )), (((U64) (((((U32) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= (((U64) ((((0x0D) - (0x0A))) | 0))))) : (((sizeof (((const U8*)scan)[0]) == sizeof(U64)) ? (void)0 : __assert2( "re_exec.c", 10048, __func__, "sizeof(((const U8*)scan)[0]) == sizeof(U64)" )), ((((NV) ((0x0A)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10048, __func__, "(NV) ((0x0A)) >= 0")), (((NV) (((0x0D) - (0x0A))) >= 0) ? (void)0 : __assert2("re_exec.c", 10048 , __func__, "(NV) (((0x0D) - (0x0A))) >= 0")), (((U64) ((( ((U64) (((const U8*)scan)[0])))) - (((0x0A)) | 0))) <= ((( U64) ((((0x0D) - (0x0A))) | 0)))))))) || 0x85 == ((const U8*) scan)[0] ): 0 ))) { | |||
| 10049 | scan+=c; | |||
| 10050 | hardcount++; | |||
| 10051 | } | |||
| 10052 | } | |||
| 10053 | break; | |||
| 10054 | ||||
| 10055 | case BOUNDL9: | |||
| 10056 | case NBOUNDL13: | |||
| 10057 | _CHECK_AND_WARN_PROBLEMATIC_LOCALEdo { if (__builtin_expect(((PL_warn_locale) ? (_Bool)1 : (_Bool )0),(0))) { Perl__warn_problematic_locale(); } } while (0); | |||
| 10058 | /* FALLTHROUGH */ | |||
| 10059 | case BOUND8: | |||
| 10060 | case BOUNDA11: | |||
| 10061 | case BOUNDU10: | |||
| 10062 | case EOS6: | |||
| 10063 | case GPOS7: | |||
| 10064 | case KEEPS105: | |||
| 10065 | case NBOUND12: | |||
| 10066 | case NBOUNDA15: | |||
| 10067 | case NBOUNDU14: | |||
| 10068 | case OPFAIL97: | |||
| 10069 | case SBOL2: | |||
| 10070 | case SEOL4: | |||
| 10071 | /* These are all 0 width, so match right here or not at all. */ | |||
| 10072 | break; | |||
| 10073 | ||||
| 10074 | default: | |||
| 10075 | Perl_croak(aTHX_ "panic: regrepeat() called with unrecognized node type %d='%s'", OP(p)((p)->type), PL_reg_name[OP(p)((p)->type)]); | |||
| 10076 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 10076 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 10077 | ||||
| 10078 | } | |||
| 10079 | ||||
| 10080 | if (hardcount) | |||
| 10081 | c = hardcount; | |||
| 10082 | else | |||
| 10083 | c = scan - *startposp; | |||
| 10084 | *startposp = scan; | |||
| 10085 | ||||
| 10086 | DEBUG_r({do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10087 | DECLARE_AND_GET_RE_DEBUG_FLAGS;do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10088 | DEBUG_EXECUTE_r({do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10089 | SV * const prop = sv_newmortal();do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10090 | regprop(prog, prop, p, reginfo, NULL);do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10091 | Perl_re_exec_indentf( aTHX_ "%s can match %" IVdf " times out of %" IVdf "...\n",do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10092 | depth, SvPVX_const(prop),(IV)c,(IV)max);do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10093 | });do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0) | |||
| 10094 | })do {{ volatile IV re_debug_flags = 0; ((void)sizeof(re_debug_flags )); do { SV * re_debug_flags_sv = ((void*)0); re_debug_flags_sv = PL_curcop ? Perl_get_sv( "\022E_DEBUG_FLAGS",0x01) : ((void *)0); if (re_debug_flags_sv) { if (!((re_debug_flags_sv)-> sv_flags & 0x00000100)) Perl_sv_setuv( re_debug_flags_sv, 0x000008 | 0x00FF00); re_debug_flags=((((re_debug_flags_sv)-> sv_flags & (0x00000100|0x00200000)) == 0x00000100) ? (*({ const SV *const _svivx = (const SV *)(re_debug_flags_sv); (( PL_valid_types_IVX[((svtype)((_svivx)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10087, __func__ , "PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]")); ((!( (((_svivx)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svivx)->sv_flags & 0xff)) == SVt_PVLV ))) ? (void)0 : __assert2("re_exec.c", 10087, __func__, "!isGV_with_GP(_svivx)" )); &(((XPVIV*) ({ void *_p = ((_svivx)->sv_any); _p; } ))->xiv_u.xivu_iv); })) : Perl_sv_2iv_flags( re_debug_flags_sv ,2)); } } while (0); do {if (__builtin_expect(((PL_debug & 0x00100000) ? (_Bool)1 : (_Bool)0),(0)) || (re_debug_flags & (0x00FF00))) { SV * const prop = Perl_sv_newmortal(); my_regprop ( prog,prop,p,reginfo,((void*)0)); Perl_re_exec_indentf( "%s can match %" "ld" " times out of %" "ld" "...\n", depth, ((const char*)(0 + (prop)->sv_u.svu_pv)),(IV)c,(IV)max); };} while (0); }; } while (0); | |||
| 10095 | ||||
| 10096 | return(c); | |||
| 10097 | } | |||
| 10098 | ||||
| 10099 | /* | |||
| 10100 | - reginclass - determine if a character falls into a character class | |||
| 10101 | ||||
| 10102 | n is the ANYOF-type regnode | |||
| 10103 | p is the target string | |||
| 10104 | p_end points to one byte beyond the end of the target string | |||
| 10105 | utf8_target tells whether p is in UTF-8. | |||
| 10106 | ||||
| 10107 | Returns true if matched; false otherwise. | |||
| 10108 | ||||
| 10109 | Note that this can be a synthetic start class, a combination of various | |||
| 10110 | nodes, so things you think might be mutually exclusive, such as locale, | |||
| 10111 | aren't. It can match both locale and non-locale | |||
| 10112 | ||||
| 10113 | */ | |||
| 10114 | ||||
| 10115 | STATICstatic bool_Bool | |||
| 10116 | S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8* const p, const U8* const p_end, const bool_Bool utf8_target) | |||
| 10117 | { | |||
| 10118 | dVARstruct Perl___notused_struct; | |||
| 10119 | const char flags = (inRANGE(OP(n), ANYOFH, ANYOFHs)((((25) >= (22)) ? (void)0 : __assert2("re_exec.c", 10119, __func__, "(25) >= (22)")), ( (sizeof(((n)->type)) == sizeof (U8)) ? ((((NV) ((22)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10119, __func__, "(NV) ((22)) >= 0")), (((NV) (((25) - ( 22))) >= 0) ? (void)0 : __assert2("re_exec.c", 10119, __func__ , "(NV) (((25) - (22))) >= 0")), (((U64) (((((U8) (((n)-> type))))) - (((22)) | 0))) <= (((U64) ((((25) - (22))) | 0 ))))) : (sizeof(((n)->type)) == sizeof(U32)) ? ((((NV) ((22 )) >= 0) ? (void)0 : __assert2("re_exec.c", 10119, __func__ , "(NV) ((22)) >= 0")), (((NV) (((25) - (22))) >= 0) ? ( void)0 : __assert2("re_exec.c", 10119, __func__, "(NV) (((25) - (22))) >= 0" )), (((U64) (((((U32) (((n)->type))))) - (((22)) | 0))) <= (((U64) ((((25) - (22))) | 0))))) : (((sizeof(((n)->type) ) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 10119, __func__ , "sizeof(((n)->type)) == sizeof(U64)")), ((((NV) ((22)) >= 0) ? (void)0 : __assert2("re_exec.c", 10119, __func__, "(NV) ((22)) >= 0" )), (((NV) (((25) - (22))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10119, __func__, "(NV) (((25) - (22))) >= 0")), (((U64) ( ((((U64) (((n)->type))))) - (((22)) | 0))) <= (((U64) ( (((25) - (22))) | 0))))))))) | |||
| 10120 | ? 0 | |||
| 10121 | : ANYOF_FLAGS(n)((n)->flags); | |||
| 10122 | bool_Bool match = FALSE(0); | |||
| 10123 | UV c = *p; | |||
| 10124 | ||||
| 10125 | PERL_ARGS_ASSERT_REGINCLASS((n) ? (void)0 : __assert2("re_exec.c", 10125, __func__, "n") ); ((p) ? (void)0 : __assert2("re_exec.c", 10125, __func__, "p" )); ((p_end) ? (void)0 : __assert2("re_exec.c", 10125, __func__ , "p_end")); | |||
| 10126 | ||||
| 10127 | /* If c is not already the code point, get it. Note that | |||
| 10128 | * UTF8_IS_INVARIANT() works even if not in UTF-8 */ | |||
| 10129 | if (! UTF8_IS_INVARIANT(c)((((U64)(((UV) (((c) | 0) | 0)))) < (((U8) (0xFF << 6 )) & 0xB0))) && utf8_target) { | |||
| 10130 | STRLEN c_len = 0; | |||
| 10131 | const U32 utf8n_flags = UTF8_ALLOW_DEFAULT0; | |||
| 10132 | c = utf8n_to_uvchr(p, p_end - p, &c_len, utf8n_flags | UTF8_CHECK_ONLY)Perl_utf8n_to_uvchr_msgs(p, p_end - p, &c_len, utf8n_flags | 0x10000, 0, 0); | |||
| 10133 | if (c_len == (STRLEN)-1) { | |||
| 10134 | _force_out_malformed_utf8_message(p, p_end,Perl__force_out_malformed_utf8_message( p,p_end,utf8n_flags,1 ) | |||
| 10135 | utf8n_flags,Perl__force_out_malformed_utf8_message( p,p_end,utf8n_flags,1 ) | |||
| 10136 | 1 /* 1 means die */ )Perl__force_out_malformed_utf8_message( p,p_end,utf8n_flags,1 ); | |||
| 10137 | NOT_REACHEDdo { ((!"UNREACHABLE") ? (void)0 : __assert2("re_exec.c", 10137 , __func__, "!\"UNREACHABLE\"")); __builtin_unreachable(); } while (0); /* NOTREACHED */ | |||
| 10138 | } | |||
| 10139 | if ( c > 255 | |||
| 10140 | && (OP(n)((n)->type) == ANYOFL20 || OP(n)((n)->type) == ANYOFPOSIXL21) | |||
| 10141 | && ! ANYOFL_UTF8_LOCALE_REQD(flags)((flags & ( 0x04 |0x08)) == 0x08)) | |||
| 10142 | { | |||
| 10143 | _CHECK_AND_OUTPUT_WIDE_LOCALE_CP_MSG(c)do { if (! PL_in_utf8_CTYPE_locale && Perl_ckwarn( (63 ))) { Perl_warner( (63 ), "Wide character (U+%" "lX" ") in %s" , (UV) c, ((PL_op)->op_type == OP_CUSTOM ? (Perl_custom_op_get_field ( PL_op, XOPe_xop_desc).xop_desc) : PL_op_desc[(PL_op)->op_type ])); } } while (0); | |||
| 10144 | } | |||
| 10145 | } | |||
| 10146 | ||||
| 10147 | /* If this character is potentially in the bitmap, check it */ | |||
| 10148 | if (c < NUM_ANYOF_CODE_POINTS(1 << 8) && ! inRANGE(OP(n), ANYOFH, ANYOFHb)((((23) >= (22)) ? (void)0 : __assert2("re_exec.c", 10148, __func__, "(23) >= (22)")), ( (sizeof(((n)->type)) == sizeof (U8)) ? ((((NV) ((22)) >= 0) ? (void)0 : __assert2("re_exec.c" , 10148, __func__, "(NV) ((22)) >= 0")), (((NV) (((23) - ( 22))) >= 0) ? (void)0 : __assert2("re_exec.c", 10148, __func__ , "(NV) (((23) - (22))) >= 0")), (((U64) (((((U8) (((n)-> type))))) - (((22)) | 0))) <= (((U64) ((((23) - (22))) | 0 ))))) : (sizeof(((n)->type)) == sizeof(U32)) ? ((((NV) ((22 )) >= 0) ? (void)0 : __assert2("re_exec.c", 10148, __func__ , "(NV) ((22)) >= 0")), (((NV) (((23) - (22))) >= 0) ? ( void)0 : __assert2("re_exec.c", 10148, __func__, "(NV) (((23) - (22))) >= 0" )), (((U64) (((((U32) (((n)->type))))) - (((22)) | 0))) <= (((U64) ((((23) - (22))) | 0))))) : (((sizeof(((n)->type) ) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 10148, __func__ , "sizeof(((n)->type)) == sizeof(U64)")), ((((NV) ((22)) >= 0) ? (void)0 : __assert2("re_exec.c", 10148, __func__, "(NV) ((22)) >= 0" )), (((NV) (((23) - (22))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10148, __func__, "(NV) (((23) - (22))) >= 0")), (((U64) ( ((((U64) (((n)->type))))) - (((22)) | 0))) <= (((U64) ( (((23) - (22))) | 0))))))))) { | |||
| 10149 | if (ANYOF_BITMAP_TEST(n, c)(((( (U8*) ((regnode_charclass*)(n))->bitmap) [ ( ( (UV) ( c)) >> 3) ] ) & (1U << ((c) & 7))) ? (_Bool )1 : (_Bool)0)) | |||
| 10150 | match = TRUE(1); | |||
| 10151 | else if ((flags | |||
| 10152 | & ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER0x80) | |||
| 10153 | && OP(n)((n)->type) == ANYOFD19 | |||
| 10154 | && ! utf8_target | |||
| 10155 | && ! isASCII(c)((U64)((c) | 0) < 128)) | |||
| 10156 | { | |||
| 10157 | match = TRUE(1); | |||
| 10158 | } | |||
| 10159 | else if (flags & ANYOF_LOCALE_FLAGS(0x04 | 0x02)) { | |||
| 10160 | if ( (flags & ANYOFL_FOLD0x04) | |||
| 10161 | && c < sizeof(PL_fold_locale) | |||
| 10162 | && ANYOF_BITMAP_TEST(n, PL_fold_locale[c])(((( (U8*) ((regnode_charclass*)(n))->bitmap) [ ( ( (UV) ( PL_fold_locale[c])) >> 3) ] ) & (1U << ((PL_fold_locale [c]) & 7))) ? (_Bool)1 : (_Bool)0)) | |||
| 10163 | { | |||
| 10164 | match = TRUE(1); | |||
| 10165 | } | |||
| 10166 | else if ( ANYOF_POSIXL_TEST_ANY_SET(n)((((n)->flags) & 0x02) && (((regnode_charclass_posixl *)(n))->classflags)) | |||
| 10167 | && c <= U8_MAX0xff /* param to isFOO_lc() */ | |||
| 10168 | ) { | |||
| 10169 | ||||
| 10170 | /* The data structure is arranged so bits 0, 2, 4, ... are set | |||
| 10171 | * if the class includes the Posix character class given by | |||
| 10172 | * bit/2; and 1, 3, 5, ... are set if the class includes the | |||
| 10173 | * complemented Posix class given by int(bit/2). So we loop | |||
| 10174 | * through the bits, each time changing whether we complement | |||
| 10175 | * the result or not. Suppose for the sake of illustration | |||
| 10176 | * that bits 0-3 mean respectively, \w, \W, \s, \S. If bit 0 | |||
| 10177 | * is set, it means there is a match for this ANYOF node if the | |||
| 10178 | * character is in the class given by the expression (0 / 2 = 0 | |||
| 10179 | * = \w). If it is in that class, isFOO_lc() will return 1, | |||
| 10180 | * and since 'to_complement' is 0, the result will stay TRUE, | |||
| 10181 | * and we exit the loop. Suppose instead that bit 0 is 0, but | |||
| 10182 | * bit 1 is 1. That means there is a match if the character | |||
| 10183 | * matches \W. We won't bother to call isFOO_lc() on bit 0, | |||
| 10184 | * but will on bit 1. On the second iteration 'to_complement' | |||
| 10185 | * will be 1, so the exclusive or will reverse things, so we | |||
| 10186 | * are testing for \W. On the third iteration, 'to_complement' | |||
| 10187 | * will be 0, and we would be testing for \s; the fourth | |||
| 10188 | * iteration would test for \S, etc. | |||
| 10189 | * | |||
| 10190 | * Note that this code assumes that all the classes are closed | |||
| 10191 | * under folding. For example, if a character matches \w, then | |||
| 10192 | * its fold does too; and vice versa. This should be true for | |||
| 10193 | * any well-behaved locale for all the currently defined Posix | |||
| 10194 | * classes, except for :lower: and :upper:, which are handled | |||
| 10195 | * by the pseudo-class :cased: which matches if either of the | |||
| 10196 | * other two does. To get rid of this assumption, an outer | |||
| 10197 | * loop could be used below to iterate over both the source | |||
| 10198 | * character, and its fold (if different) */ | |||
| 10199 | ||||
| 10200 | int count = 0; | |||
| 10201 | int to_complement = 0; | |||
| 10202 | ||||
| 10203 | while (count < ANYOF_MAX(((15) * 2))) { | |||
| 10204 | if (ANYOF_POSIXL_TEST(n, count)((((regnode_charclass_posixl*) (n))->classflags) & (1U << ((count)))) | |||
| 10205 | && to_complement ^ cBOOL(isFOO_lc(count/2, (U8) c))((Perl_isFOO_lc( count/2,(U8) c)) ? (_Bool)1 : (_Bool)0)) | |||
| 10206 | { | |||
| 10207 | match = TRUE(1); | |||
| 10208 | break; | |||
| 10209 | } | |||
| 10210 | count++; | |||
| 10211 | to_complement ^= 1; | |||
| 10212 | } | |||
| 10213 | } | |||
| 10214 | } | |||
| 10215 | } | |||
| 10216 | ||||
| 10217 | ||||
| 10218 | /* If the bitmap didn't (or couldn't) match, and something outside the | |||
| 10219 | * bitmap could match, try that. */ | |||
| 10220 | if (!match) { | |||
| 10221 | if (c >= NUM_ANYOF_CODE_POINTS(1 << 8) | |||
| 10222 | && (flags & ANYOF_MATCHES_ALL_ABOVE_BITMAP0x20)) | |||
| 10223 | { | |||
| 10224 | match = TRUE(1); /* Everything above the bitmap matches */ | |||
| 10225 | } | |||
| 10226 | /* Here doesn't match everything above the bitmap. If there is | |||
| 10227 | * some information available beyond the bitmap, we may find a | |||
| 10228 | * match in it. If so, this is most likely because the code point | |||
| 10229 | * is outside the bitmap range. But rarely, it could be because of | |||
| 10230 | * some other reason. If so, various flags are set to indicate | |||
| 10231 | * this possibility. On ANYOFD nodes, there may be matches that | |||
| 10232 | * happen only when the target string is UTF-8; or for other node | |||
| 10233 | * types, because runtime lookup is needed, regardless of the | |||
| 10234 | * UTF-8ness of the target string. Finally, under /il, there may | |||
| 10235 | * be some matches only possible if the locale is a UTF-8 one. */ | |||
| 10236 | else if ( ARG(n)((((struct regnode_1 *)n)->arg1)) != ANYOF_ONLY_HAS_BITMAP((U32) -1) | |||
| 10237 | && ( c >= NUM_ANYOF_CODE_POINTS(1 << 8) | |||
| 10238 | || ( (flags & ANYOF_SHARED_d_UPPER_LATIN1_UTF8_STRING_MATCHES_non_d_RUNTIME_USER_PROP0x40) | |||
| 10239 | && ( UNLIKELY(OP(n) != ANYOFD)__builtin_expect(((((n)->type) != 19) ? (_Bool)1 : (_Bool) 0),(0)) | |||
| 10240 | || (utf8_target && ! isASCII_uni(c)((U64)((c) | 0) < 128) | |||
| 10241 | # if NUM_ANYOF_CODE_POINTS(1 << 8) > 256 | |||
| 10242 | && c < 256 | |||
| 10243 | # endif | |||
| 10244 | ))) | |||
| 10245 | || ( ANYOFL_SOME_FOLDS_ONLY_IN_UTF8_LOCALE(flags)((flags & ( 0x04 |0x08)) == ( 0x04 |0x08)) | |||
| 10246 | && IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale))) | |||
| 10247 | { | |||
| 10248 | SV* only_utf8_locale = NULL((void*)0); | |||
| 10249 | SV * const definition = | |||
| 10250 | #if !defined(PERL_IN_XSUB_RE) || defined(PLUGGABLE_RE_EXTENSION) | |||
| 10251 | get_regclass_nonbitmap_data(prog, n, TRUE(1), 0, | |||
| 10252 | &only_utf8_locale, NULL((void*)0)); | |||
| 10253 | #else | |||
| 10254 | get_re_gclass_nonbitmap_data(prog, n, TRUE, 0,Perl_get_re_gclass_nonbitmap_data( prog,n,(1),0,&only_utf8_locale ,((void*)0)) | |||
| 10255 | &only_utf8_locale, NULL)Perl_get_re_gclass_nonbitmap_data( prog,n,(1),0,&only_utf8_locale ,((void*)0)); | |||
| 10256 | #endif | |||
| 10257 | if (definition) { | |||
| 10258 | U8 utf8_buffer[2]; | |||
| 10259 | U8 * utf8_p; | |||
| 10260 | if (utf8_target) { | |||
| 10261 | utf8_p = (U8 *) p; | |||
| 10262 | } else { /* Convert to utf8 */ | |||
| 10263 | utf8_p = utf8_buffer; | |||
| 10264 | append_utf8_from_native_bytePerl_append_utf8_from_native_byte(*p, &utf8_p); | |||
| 10265 | utf8_p = utf8_buffer; | |||
| 10266 | } | |||
| 10267 | ||||
| 10268 | /* Turkish locales have these hard-coded rules overriding | |||
| 10269 | * normal ones */ | |||
| 10270 | if ( UNLIKELY(PL_in_utf8_turkic_locale)__builtin_expect(((PL_in_utf8_turkic_locale) ? (_Bool)1 : (_Bool )0),(0)) | |||
| 10271 | && isALPHA_FOLD_EQ(*p, 'i')((((((('Z') >= ('A')) ? (void)0 : __assert2("re_exec.c", 10271 , __func__, "('Z') >= ('A')")), ( (sizeof((~('A' ^ 'a') & (*p))) == sizeof(U8)) ? ((((NV) (('A')) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__, "(NV) (('A')) >= 0" )), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10271, __func__, "(NV) ((('Z') - ('A'))) >= 0")), (((U64 ) (((((U8) ((~('A' ^ 'a') & (*p)))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof((~('A' ^ 'a') & (*p))) == sizeof(U32)) ? ((((NV) (('A')) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__, "(NV) (('A')) >= 0" )), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10271, __func__, "(NV) ((('Z') - ('A'))) >= 0")), (((U64 ) (((((U32) ((~('A' ^ 'a') & (*p)))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (((sizeof((~('A' ^ 'a' ) & (*p))) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c" , 10271, __func__, "sizeof((~('A' ^ 'a') & (*p))) == sizeof(U64)" )), ((((NV) (('A')) >= 0) ? (void)0 : __assert2("re_exec.c" , 10271, __func__, "(NV) (('A')) >= 0")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__ , "(NV) ((('Z') - ('A'))) >= 0")), (((U64) (((((U64) ((~('A' ^ 'a') & (*p)))))) - ((('A')) | 0))) <= (((U64) (((('Z' ) - ('A'))) | 0)))))))) || (((('Z') >= ('A')) ? (void)0 : __assert2 ("re_exec.c", 10271, __func__, "('Z') >= ('A')")), ( (sizeof ((~('A' ^ 'a') & ('i'))) == sizeof(U8)) ? ((((NV) (('A')) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__, "(NV) (('A')) >= 0")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__, "(NV) ((('Z') - ('A'))) >= 0" )), (((U64) (((((U8) ((~('A' ^ 'a') & ('i')))))) - ((('A' )) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof ((~('A' ^ 'a') & ('i'))) == sizeof(U32)) ? ((((NV) (('A') ) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__ , "(NV) (('A')) >= 0")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__, "(NV) ((('Z') - ('A'))) >= 0" )), (((U64) (((((U32) ((~('A' ^ 'a') & ('i')))))) - ((('A' )) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (((sizeof ((~('A' ^ 'a') & ('i'))) == sizeof(U64)) ? (void)0 : __assert2 ("re_exec.c", 10271, __func__, "sizeof((~('A' ^ 'a') & ('i'))) == sizeof(U64)" )), ((((NV) (('A')) >= 0) ? (void)0 : __assert2("re_exec.c" , 10271, __func__, "(NV) (('A')) >= 0")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2("re_exec.c", 10271, __func__ , "(NV) ((('Z') - ('A'))) >= 0")), (((U64) (((((U64) ((~('A' ^ 'a') & ('i')))))) - ((('A')) | 0))) <= (((U64) (((( 'Z') - ('A'))) | 0))))))))) ? (void)0 : __assert2("re_exec.c" , 10271, __func__, "(((('Z') >= ('A')) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"('Z') >= ('A')\")), ( (sizeof((~('A' ^ 'a') & (*p))) == sizeof(U8)) ? ((((NV) (('A')) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) (('A')) >= 0\")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) ((('Z') - ('A'))) >= 0\")), (((U64) (((((U8) ((~('A' ^ 'a') & (*p)))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof((~('A' ^ 'a') & (*p))) == sizeof(U32)) ? ((((NV) (('A')) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) (('A')) >= 0\")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) ((('Z') - ('A'))) >= 0\")), (((U64) (((((U32) ((~('A' ^ 'a') & (*p)))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (((sizeof((~('A' ^ 'a') & (*p))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"sizeof((~('A' ^ 'a') & (*p))) == sizeof(U64)\")), ((((NV) (('A')) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) (('A')) >= 0\")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) ((('Z') - ('A'))) >= 0\")), (((U64) (((((U64) ((~('A' ^ 'a') & (*p)))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0)))))))) || (((('Z') >= ('A')) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"('Z') >= ('A')\")), ( (sizeof((~('A' ^ 'a') & ('i'))) == sizeof(U8)) ? ((((NV) (('A')) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) (('A')) >= 0\")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) ((('Z') - ('A'))) >= 0\")), (((U64) (((((U8) ((~('A' ^ 'a') & ('i')))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (sizeof((~('A' ^ 'a') & ('i'))) == sizeof(U32)) ? ((((NV) (('A')) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) (('A')) >= 0\")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) ((('Z') - ('A'))) >= 0\")), (((U64) (((((U32) ((~('A' ^ 'a') & ('i')))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))) : (((sizeof((~('A' ^ 'a') & ('i'))) == sizeof(U64)) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"sizeof((~('A' ^ 'a') & ('i'))) == sizeof(U64)\")), ((((NV) (('A')) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) (('A')) >= 0\")), (((NV) ((('Z') - ('A'))) >= 0) ? (void)0 : __assert2(\"re_exec.c\", 10271, __func__, \"(NV) ((('Z') - ('A'))) >= 0\")), (((U64) (((((U64) ((~('A' ^ 'a') & ('i')))))) - ((('A')) | 0))) <= (((U64) (((('Z') - ('A'))) | 0))))))))" )), ((*p) & ~('A' ^ 'a')) == (('i') & ~('A' ^ 'a')))) | |||
| 10272 | { | |||
| 10273 | if (*p == 'i') { | |||
| 10274 | if (_invlist_contains_cpS__invlist_contains_cp(definition, | |||
| 10275 | LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE0x130)) | |||
| 10276 | { | |||
| 10277 | match = TRUE(1); | |||
| 10278 | } | |||
| 10279 | } | |||
| 10280 | else if (*p == 'I') { | |||
| 10281 | if (_invlist_contains_cpS__invlist_contains_cp(definition, | |||
| 10282 | LATIN_SMALL_LETTER_DOTLESS_I0x131)) | |||
| 10283 | { | |||
| 10284 | match = TRUE(1); | |||
| 10285 | } | |||
| 10286 | } | |||
| 10287 | } | |||
| 10288 | else if (_invlist_contains_cpS__invlist_contains_cp(definition, c)) { | |||
| 10289 | match = TRUE(1); | |||
| 10290 | } | |||
| 10291 | } | |||
| 10292 | if (! match && only_utf8_locale && IN_UTF8_CTYPE_LOCALEPL_in_utf8_CTYPE_locale) { | |||
| 10293 | match = _invlist_contains_cpS__invlist_contains_cp(only_utf8_locale, c); | |||
| 10294 | } | |||
| 10295 | } | |||
| 10296 | ||||
| 10297 | /* In a Turkic locale under folding, hard-code the I i case pair | |||
| 10298 | * matches */ | |||
| 10299 | if ( UNLIKELY(PL_in_utf8_turkic_locale)__builtin_expect(((PL_in_utf8_turkic_locale) ? (_Bool)1 : (_Bool )0),(0)) | |||
| 10300 | && ! match | |||
| 10301 | && (flags & ANYOFL_FOLD0x04) | |||
| 10302 | && utf8_target) | |||
| 10303 | { | |||
| 10304 | if (c == LATIN_CAPITAL_LETTER_I_WITH_DOT_ABOVE0x130) { | |||
| 10305 | if (ANYOF_BITMAP_TEST(n, 'i')(((( (U8*) ((regnode_charclass*)(n))->bitmap) [ ( ( (UV) ( 'i')) >> 3) ] ) & (1U << (('i') & 7))) ? ( _Bool)1 : (_Bool)0)) { | |||
| 10306 | match = TRUE(1); | |||
| 10307 | } | |||
| 10308 | } | |||
| 10309 | else if (c == LATIN_SMALL_LETTER_DOTLESS_I0x131) { | |||
| 10310 | if (ANYOF_BITMAP_TEST(n, 'I')(((( (U8*) ((regnode_charclass*)(n))->bitmap) [ ( ( (UV) ( 'I')) >> 3) ] ) & (1U << (('I') & 7))) ? ( _Bool)1 : (_Bool)0)) { | |||
| 10311 | match = TRUE(1); | |||
| 10312 | } | |||
| 10313 | } | |||
| 10314 | } | |||
| 10315 | ||||
| 10316 | if (UNICODE_IS_SUPER(c)((UV) (c) > 0x10FFFF) | |||
| 10317 | && (flags | |||
| 10318 | & ANYOF_SHARED_d_MATCHES_ALL_NON_UTF8_NON_ASCII_non_d_WARN_SUPER0x80) | |||
| 10319 | && OP(n)((n)->type) != ANYOFD19 | |||
| 10320 | && ckWARN_d(WARN_NON_UNICODE)Perl_ckwarn_d( (48 ))) | |||
| 10321 | { | |||
| 10322 | Perl_warner(aTHX_ packWARN(WARN_NON_UNICODE)(48 ), | |||
| 10323 | "Matched non-Unicode code point 0x%04" UVXf"lX" " against Unicode property; may not be portable", c); | |||
| 10324 | } | |||
| 10325 | } | |||
| 10326 | ||||
| 10327 | #if ANYOF_INVERT0x01 != 1 | |||
| 10328 | /* Depending on compiler optimization cBOOL takes time, so if don't have to | |||
| 10329 | * use it, don't */ | |||
| 10330 | # error ANYOF_INVERT0x01 needs to be set to 1, or guarded with cBOOL below, | |||
| 10331 | #endif | |||
| 10332 | ||||
| 10333 | /* The xor complements the return if to invert: 1^1 = 0, 1^0 = 1 */ | |||
| 10334 | return (flags & ANYOF_INVERT0x01) ^ match; | |||
| 10335 | } | |||
| 10336 | ||||
| 10337 | STATICstatic U8 * | |||
| 10338 | S_reghop3(U8 *s, SSize_tssize_t off, const U8* lim) | |||
| 10339 | { | |||
| 10340 | /* return the position 'off' UTF-8 characters away from 's', forward if | |||
| 10341 | * 'off' >= 0, backwards if negative. But don't go outside of position | |||
| 10342 | * 'lim', which better be < s if off < 0 */ | |||
| 10343 | ||||
| 10344 | PERL_ARGS_ASSERT_REGHOP3((s) ? (void)0 : __assert2("re_exec.c", 10344, __func__, "s") ); ((lim) ? (void)0 : __assert2("re_exec.c", 10344, __func__, "lim")); | |||
| 10345 | ||||
| 10346 | if (off >= 0) { | |||
| 10347 | while (off-- && s < lim) { | |||
| 10348 | /* XXX could check well-formedness here */ | |||
| 10349 | U8 *new_s = s + UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 10350 | if (new_s > lim) /* lim may be in the middle of a long character */ | |||
| 10351 | return s; | |||
| 10352 | s = new_s; | |||
| 10353 | } | |||
| 10354 | } | |||
| 10355 | else { | |||
| 10356 | while (off++ && s > lim) { | |||
| 10357 | s--; | |||
| 10358 | if (UTF8_IS_CONTINUED(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10358, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), (! ((((U64)(((UV) (((*s) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))))) { | |||
| 10359 | while (s > lim && UTF8_IS_CONTINUATION(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10359, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 10359, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) & ((U8) (0xFF << 6))) == ((( U8) (0xFF << 6)) & 0xB0))))) | |||
| 10360 | s--; | |||
| 10361 | if (! UTF8_IS_START(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10361, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 10361, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { | |||
| 10362 | Perl_croak_nocontextPerl_croak("Malformed UTF-8 character (fatal)"); | |||
| 10363 | } | |||
| 10364 | } | |||
| 10365 | /* XXX could check well-formedness here */ | |||
| 10366 | } | |||
| 10367 | } | |||
| 10368 | return s; | |||
| 10369 | } | |||
| 10370 | ||||
| 10371 | STATICstatic U8 * | |||
| 10372 | S_reghop4(U8 *s, SSize_tssize_t off, const U8* llim, const U8* rlim) | |||
| 10373 | { | |||
| 10374 | PERL_ARGS_ASSERT_REGHOP4((s) ? (void)0 : __assert2("re_exec.c", 10374, __func__, "s") ); ((llim) ? (void)0 : __assert2("re_exec.c", 10374, __func__ , "llim")); ((rlim) ? (void)0 : __assert2("re_exec.c", 10374, __func__, "rlim")); | |||
| 10375 | ||||
| 10376 | if (off >= 0) { | |||
| 10377 | while (off-- && s < rlim) { | |||
| 10378 | /* XXX could check well-formedness here */ | |||
| 10379 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 10380 | } | |||
| 10381 | } | |||
| 10382 | else { | |||
| 10383 | while (off++ && s > llim) { | |||
| 10384 | s--; | |||
| 10385 | if (UTF8_IS_CONTINUED(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10385, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), (! ((((U64)(((UV) (((*s) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))))) { | |||
| 10386 | while (s > llim && UTF8_IS_CONTINUATION(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10386, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 10386, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) & ((U8) (0xFF << 6))) == ((( U8) (0xFF << 6)) & 0xB0))))) | |||
| 10387 | s--; | |||
| 10388 | if (! UTF8_IS_START(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10388, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 10388, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { | |||
| 10389 | Perl_croak_nocontextPerl_croak("Malformed UTF-8 character (fatal)"); | |||
| 10390 | } | |||
| 10391 | } | |||
| 10392 | /* XXX could check well-formedness here */ | |||
| 10393 | } | |||
| 10394 | } | |||
| 10395 | return s; | |||
| 10396 | } | |||
| 10397 | ||||
| 10398 | /* like reghop3, but returns NULL on overrun, rather than returning last | |||
| 10399 | * char pos */ | |||
| 10400 | ||||
| 10401 | STATICstatic U8 * | |||
| 10402 | S_reghopmaybe3(U8* s, SSize_tssize_t off, const U8* const lim) | |||
| 10403 | { | |||
| 10404 | PERL_ARGS_ASSERT_REGHOPMAYBE3((s) ? (void)0 : __assert2("re_exec.c", 10404, __func__, "s") ); ((lim) ? (void)0 : __assert2("re_exec.c", 10404, __func__, "lim")); | |||
| 10405 | ||||
| 10406 | if (off >= 0) { | |||
| 10407 | while (off-- && s < lim) { | |||
| 10408 | /* XXX could check well-formedness here */ | |||
| 10409 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 10410 | } | |||
| 10411 | if (off >= 0) | |||
| 10412 | return NULL((void*)0); | |||
| 10413 | } | |||
| 10414 | else { | |||
| 10415 | while (off++ && s > lim) { | |||
| 10416 | s--; | |||
| 10417 | if (UTF8_IS_CONTINUED(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10417, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), (! ((((U64)(((UV) (((*s) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))))) { | |||
| 10418 | while (s > lim && UTF8_IS_CONTINUATION(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10418, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 10418, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) & ((U8) (0xFF << 6))) == ((( U8) (0xFF << 6)) & 0xB0))))) | |||
| 10419 | s--; | |||
| 10420 | if (! UTF8_IS_START(*s)(((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))) ? (void)0 : __assert2("re_exec.c", 10420, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF ))) ? (void)0 : __assert2("re_exec.c", 10420, __func__, "( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF))" )), ((U8) ((*s) | 0))) >= (((((U8) (0xFF << 6)) & 0xB0) >> 6) | (((2) > 7) ? 0xFF : ((U8) (0xFE << (7-(2))))))))) { | |||
| 10421 | Perl_croak_nocontextPerl_croak("Malformed UTF-8 character (fatal)"); | |||
| 10422 | } | |||
| 10423 | } | |||
| 10424 | /* XXX could check well-formedness here */ | |||
| 10425 | } | |||
| 10426 | if (off <= 0) | |||
| 10427 | return NULL((void*)0); | |||
| 10428 | } | |||
| 10429 | return s; | |||
| 10430 | } | |||
| 10431 | ||||
| 10432 | ||||
| 10433 | /* when executing a regex that may have (?{}), extra stuff needs setting | |||
| 10434 | up that will be visible to the called code, even before the current | |||
| 10435 | match has finished. In particular: | |||
| 10436 | ||||
| 10437 | * $_ is localised to the SV currently being matched; | |||
| 10438 | * pos($_) is created if necessary, ready to be updated on each call-out | |||
| 10439 | to code; | |||
| 10440 | * a fake PMOP is created that can be set to PL_curpm (normally PL_curpm | |||
| 10441 | isn't set until the current pattern is successfully finished), so that | |||
| 10442 | $1 etc of the match-so-far can be seen; | |||
| 10443 | * save the old values of subbeg etc of the current regex, and set then | |||
| 10444 | to the current string (again, this is normally only done at the end | |||
| 10445 | of execution) | |||
| 10446 | */ | |||
| 10447 | ||||
| 10448 | static void | |||
| 10449 | S_setup_eval_state(pTHX_ regmatch_info *const reginfo) | |||
| 10450 | { | |||
| 10451 | MAGIC *mg; | |||
| 10452 | regexp *const rex = ReANY(reginfo->prog)Perl_ReANY((const REGEXP *)(reginfo->prog)); | |||
| 10453 | regmatch_info_aux_eval *eval_state = reginfo->info_aux_eval; | |||
| 10454 | ||||
| 10455 | eval_state->rex = rex; | |||
| 10456 | eval_state->sv = reginfo->sv; | |||
| 10457 | ||||
| 10458 | if (reginfo->sv) { | |||
| 10459 | /* Make $_ available to executed code. */ | |||
| 10460 | if (reginfo->sv != DEFSV(*((0+(*({GV *const _gvgp = (GV *) (PL_defgv); ((((svtype)((_gvgp )->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)-> sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c" , 10460, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 10460, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv ? &((0+(*({GV *const _gvgp = (GV *) (PL_defgv ); ((((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV) ? ( void)0 : __assert2("re_exec.c", 10460, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 10460, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv) : &((0+(*({GV *const _gvgp = (GV *) (Perl_gv_add_by_type ( (PL_defgv),SVt_NULL)); ((((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c", 10460, __func__ , "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV")); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000 ) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV)) ) ? (void)0 : __assert2("re_exec.c", 10460, __func__, "isGV_with_GP(_gvgp)" )); &((_gvgp)->sv_u.svu_gp);})))->gp_sv)))) { | |||
| 10461 | SAVE_DEFSVPerl_save_sptr( (SV**)&(((0+(*({GV *const _gvgp = (GV *) ( PL_defgv); ((((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c", 10461, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 10461, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv))); | |||
| 10462 | DEFSV_set(reginfo->sv)(((0+(*({GV *const _gvgp = (GV *) (PL_defgv); ((((svtype)((_gvgp )->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)-> sv_flags & 0xff)) == SVt_PVLV) ? (void)0 : __assert2("re_exec.c" , 10462, __func__, "SvTYPE(_gvgp) == SVt_PVGV || SvTYPE(_gvgp) == SVt_PVLV" )); ((((((_gvgp)->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((_gvgp)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_gvgp)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 10462, __func__ , "isGV_with_GP(_gvgp)")); &((_gvgp)->sv_u.svu_gp);})) )->gp_sv) = (reginfo->sv)); | |||
| 10463 | } | |||
| 10464 | /* will be dec'd by S_cleanup_regmatch_info_aux */ | |||
| 10465 | SvREFCNT_inc_NN(reginfo->sv)Perl_SvREFCNT_inc_NN(((SV *)({ void *_p = (reginfo->sv); _p ; }))); | |||
| 10466 | ||||
| 10467 | if (!(mg = mg_find_mglob(reginfo->sv)Perl_mg_find_mglob( reginfo->sv))) { | |||
| 10468 | /* prepare for quick setting of pos */ | |||
| 10469 | mg = sv_magicext_mglob(reginfo->sv)Perl_sv_magicext_mglob( reginfo->sv); | |||
| 10470 | mg->mg_len = -1; | |||
| 10471 | } | |||
| 10472 | eval_state->pos_magic = mg; | |||
| 10473 | eval_state->pos = mg->mg_len; | |||
| 10474 | eval_state->pos_flags = mg->mg_flags; | |||
| 10475 | } | |||
| 10476 | else | |||
| 10477 | eval_state->pos_magic = NULL((void*)0); | |||
| 10478 | ||||
| 10479 | if (!PL_reg_curpm) { | |||
| 10480 | /* PL_reg_curpm is a fake PMOP that we can attach the current | |||
| 10481 | * regex to and point PL_curpm at, so that $1 et al are visible | |||
| 10482 | * within a /(?{})/. It's just allocated once per interpreter the | |||
| 10483 | * first time its needed */ | |||
| 10484 | Newxz(PL_reg_curpm, 1, PMOP)(PL_reg_curpm = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof(1) || sizeof(PMOP) > ((size_t)1 << 8*(sizeof (size_t) - sizeof(1)))) ? (size_t)(1) : ((size_t)-1)/sizeof(PMOP )) > ((size_t)-1)/sizeof(PMOP))) ? (_Bool)1 : (_Bool)0),(0 )) && (Perl_croak_memory_wrap(),0)), (PMOP*)(Perl_safesyscalloc ((1),sizeof(PMOP))))); | |||
| 10485 | #ifdef USE_ITHREADS | |||
| 10486 | { | |||
| 10487 | SV* const repointer = &PL_sv_undef(PL_sv_immortals[1]); | |||
| 10488 | /* this regexp is also owned by the new PL_reg_curpm, which | |||
| 10489 | will try to free it. */ | |||
| 10490 | av_push(PL_regex_padav, repointer)Perl_av_push( PL_regex_padav,repointer); | |||
| 10491 | PL_reg_curpm->op_pmoffset = av_tindex(PL_regex_padav)Perl_av_top_index( PL_regex_padav); | |||
| 10492 | PL_regex_pad = AvARRAY(PL_regex_padav)((PL_regex_padav)->sv_u.svu_array); | |||
| 10493 | } | |||
| 10494 | #endif | |||
| 10495 | } | |||
| 10496 | SET_reg_curpm(reginfo->prog)if (reginfo->info_aux_eval) { (void)({ REGEXP *const _rerefcnt_inc = (reginfo->prog); ((((svtype)((_rerefcnt_inc)->sv_flags & 0xff)) == SVt_REGEXP) ? (void)0 : __assert2("re_exec.c" , 10496, __func__, "SvTYPE(_rerefcnt_inc) == SVt_REGEXP")); Perl_SvREFCNT_inc (((SV *)({ void *_p = (_rerefcnt_inc); _p; }))); _rerefcnt_inc ; }); ({ REGEXP *const _rerefcnt_dec = (((PL_reg_curpm)->op_pmregexp )); Perl_SvREFCNT_dec( ((SV *)({ void *_p = (_rerefcnt_dec); _p ; }))); }); (((PL_reg_curpm))->op_pmregexp = ((reginfo-> prog))); }; | |||
| 10497 | eval_state->curpm = PL_curpm; | |||
| 10498 | PL_curpm_under = PL_curpm; | |||
| 10499 | PL_curpm = PL_reg_curpm; | |||
| 10500 | if (RXp_MATCH_COPIED(rex)(((rex)->extflags) & (1U<<(((0 +12) + 2)+11)))) { | |||
| 10501 | /* Here is a serious problem: we cannot rewrite subbeg, | |||
| 10502 | since it may be needed if this match fails. Thus | |||
| 10503 | $` inside (?{}) could fail... */ | |||
| 10504 | eval_state->subbeg = rex->subbeg; | |||
| 10505 | eval_state->sublen = rex->sublen; | |||
| 10506 | eval_state->suboffset = rex->suboffset; | |||
| 10507 | eval_state->subcoffset = rex->subcoffset; | |||
| 10508 | #ifdef PERL_ANY_COW | |||
| 10509 | eval_state->saved_copy = rex->saved_copy; | |||
| 10510 | #endif | |||
| 10511 | RXp_MATCH_COPIED_off(rex)(((rex)->extflags) &= ~(1U<<(((0 +12) + 2)+11))); | |||
| 10512 | } | |||
| 10513 | else | |||
| 10514 | eval_state->subbeg = NULL((void*)0); | |||
| 10515 | rex->subbeg = (char *)reginfo->strbeg; | |||
| 10516 | rex->suboffset = 0; | |||
| 10517 | rex->subcoffset = 0; | |||
| 10518 | rex->sublen = reginfo->strend - reginfo->strbeg; | |||
| 10519 | } | |||
| 10520 | ||||
| 10521 | ||||
| 10522 | /* destructor to clear up regmatch_info_aux and regmatch_info_aux_eval */ | |||
| 10523 | ||||
| 10524 | static void | |||
| 10525 | S_cleanup_regmatch_info_aux(pTHX_ void *arg) | |||
| 10526 | { | |||
| 10527 | regmatch_info_aux *aux = (regmatch_info_aux *) arg; | |||
| 10528 | regmatch_info_aux_eval *eval_state = aux->info_aux_eval; | |||
| 10529 | regmatch_slab *s; | |||
| 10530 | ||||
| 10531 | Safefree(aux->poscache)Perl_safesysfree(((void *)(aux->poscache))); | |||
| 10532 | ||||
| 10533 | if (eval_state) { | |||
| 10534 | ||||
| 10535 | /* undo the effects of S_setup_eval_state() */ | |||
| 10536 | ||||
| 10537 | if (eval_state->subbeg) { | |||
| 10538 | regexp * const rex = eval_state->rex; | |||
| 10539 | rex->subbeg = eval_state->subbeg; | |||
| 10540 | rex->sublen = eval_state->sublen; | |||
| 10541 | rex->suboffset = eval_state->suboffset; | |||
| 10542 | rex->subcoffset = eval_state->subcoffset; | |||
| 10543 | #ifdef PERL_ANY_COW | |||
| 10544 | rex->saved_copy = eval_state->saved_copy; | |||
| 10545 | #endif | |||
| 10546 | RXp_MATCH_COPIED_on(rex)(((rex)->extflags) |= (1U<<(((0 +12) + 2)+11))); | |||
| 10547 | } | |||
| 10548 | if (eval_state->pos_magic) | |||
| 10549 | { | |||
| 10550 | eval_state->pos_magic->mg_len = eval_state->pos; | |||
| 10551 | eval_state->pos_magic->mg_flags = | |||
| 10552 | (eval_state->pos_magic->mg_flags & ~MGf_BYTES0x40) | |||
| 10553 | | (eval_state->pos_flags & MGf_BYTES0x40); | |||
| 10554 | } | |||
| 10555 | ||||
| 10556 | PL_curpm = eval_state->curpm; | |||
| 10557 | SvREFCNT_dec(eval_state->sv)Perl_SvREFCNT_dec( ((SV *)({ void *_p = (eval_state->sv); _p ; }))); | |||
| 10558 | } | |||
| 10559 | ||||
| 10560 | PL_regmatch_state = aux->old_regmatch_state; | |||
| 10561 | PL_regmatch_slab = aux->old_regmatch_slab; | |||
| 10562 | ||||
| 10563 | /* free all slabs above current one - this must be the last action | |||
| 10564 | * of this function, as aux and eval_state are allocated within | |||
| 10565 | * slabs and may be freed here */ | |||
| 10566 | ||||
| 10567 | s = PL_regmatch_slab->next; | |||
| 10568 | if (s) { | |||
| 10569 | PL_regmatch_slab->next = NULL((void*)0); | |||
| 10570 | while (s) { | |||
| 10571 | regmatch_slab * const osl = s; | |||
| 10572 | s = s->next; | |||
| 10573 | Safefree(osl)Perl_safesysfree(((void *)(osl))); | |||
| 10574 | } | |||
| 10575 | } | |||
| 10576 | } | |||
| 10577 | ||||
| 10578 | ||||
| 10579 | STATICstatic void | |||
| 10580 | S_to_utf8_substr(pTHX_ regexp *prog) | |||
| 10581 | { | |||
| 10582 | /* Converts substr fields in prog from bytes to UTF-8, calling fbm_compile | |||
| 10583 | * on the converted value */ | |||
| 10584 | ||||
| 10585 | int i = 1; | |||
| 10586 | ||||
| 10587 | PERL_ARGS_ASSERT_TO_UTF8_SUBSTR((prog) ? (void)0 : __assert2("re_exec.c", 10587, __func__, "prog" )); | |||
| 10588 | ||||
| 10589 | do { | |||
| 10590 | if (prog->substrs->data[i].substr | |||
| 10591 | && !prog->substrs->data[i].utf8_substr) { | |||
| 10592 | SV* const sv = newSVsv(prog->substrs->data[i].substr)Perl_newSVsv_flags( (prog->substrs->data[i].substr),2|16 ); | |||
| 10593 | prog->substrs->data[i].utf8_substr = sv; | |||
| 10594 | sv_utf8_upgrade(sv)Perl_sv_utf8_upgrade_flags_grow( sv,2,0); | |||
| 10595 | if (SvVALID(prog->substrs->data[i].substr)( ((prog->substrs->data[i].substr)->sv_flags & 0x00004000 ) && ((prog->substrs->data[i].substr)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(prog->substrs->data[i].substr); ((((svtype )((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG) ? (void )0 : __assert2("re_exec.c", 10595, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(prog->substrs->data[i].substr) ; ((((svtype)((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG ) ? (void)0 : __assert2("re_exec.c", 10595, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find (prog->substrs->data[i].substr, 'B')) )) { | |||
| 10596 | if (SvTAIL(prog->substrs->data[i].substr)({ const SV *const _svtail = (const SV *)(prog->substrs-> data[i].substr); ((((svtype)((_svtail)->sv_flags & 0xff )) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 10596, __func__ , "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail)-> sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2("re_exec.c" , 10596, __func__, "SvTYPE(_svtail) != SVt_PVHV")); ((!((_svtail )->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2 ("re_exec.c", 10596, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 10596, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 10596, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); & (((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 10596, __func__ , "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })) { | |||
| 10597 | /* Trim the trailing \n that fbm_compile added last | |||
| 10598 | time. */ | |||
| 10599 | SvCUR_set(sv, SvCUR(sv) - 1)do { ((PL_valid_types_PVX[((svtype)((sv)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10599, __func__ , "PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]")); ((!((((sv )->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((sv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype )((sv)->sv_flags & 0xff)) == SVt_PVLV))) ? (void)0 : __assert2 ("re_exec.c", 10599, __func__, "!isGV_with_GP(sv)")); ((!(((svtype )((sv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO *) (sv)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2 ("re_exec.c", 10599, __func__, "!(SvTYPE(sv) == SVt_PVIO && !(IoFLAGS(sv) & IOf_FAKE_DIRP))" )); (((XPV*) (sv)->sv_any)->xpv_cur = ((*({ const SV *const _svcur = (const SV *)(sv); ((PL_valid_types_PVX[((svtype)((_svcur )->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2 ("re_exec.c", 10599, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 10599, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 10599, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - 1)); } while (0); | |||
| 10600 | /* Whilst this makes the SV technically "invalid" (as its | |||
| 10601 | buffer is no longer followed by "\0") when fbm_compile() | |||
| 10602 | adds the "\n" back, a "\0" is restored. */ | |||
| 10603 | fbm_compile(sv, FBMcf_TAIL)Perl_fbm_compile( sv,(1|2|4|8)); | |||
| 10604 | } else | |||
| 10605 | fbm_compile(sv, 0)Perl_fbm_compile( sv,0); | |||
| 10606 | } | |||
| 10607 | if (prog->substrs->data[i].substr == prog->check_substrsubstrs->data[2].substr) | |||
| 10608 | prog->check_utf8substrs->data[2].utf8_substr = sv; | |||
| 10609 | } | |||
| 10610 | } while (i--); | |||
| 10611 | } | |||
| 10612 | ||||
| 10613 | STATICstatic bool_Bool | |||
| 10614 | S_to_byte_substr(pTHX_ regexp *prog) | |||
| 10615 | { | |||
| 10616 | /* Converts substr fields in prog from UTF-8 to bytes, calling fbm_compile | |||
| 10617 | * on the converted value; returns FALSE if can't be converted. */ | |||
| 10618 | ||||
| 10619 | int i = 1; | |||
| 10620 | ||||
| 10621 | PERL_ARGS_ASSERT_TO_BYTE_SUBSTR((prog) ? (void)0 : __assert2("re_exec.c", 10621, __func__, "prog" )); | |||
| 10622 | ||||
| 10623 | do { | |||
| 10624 | if (prog->substrs->data[i].utf8_substr | |||
| 10625 | && !prog->substrs->data[i].substr) { | |||
| 10626 | SV* sv = newSVsv(prog->substrs->data[i].utf8_substr)Perl_newSVsv_flags( (prog->substrs->data[i].utf8_substr ),2|16); | |||
| 10627 | if (! sv_utf8_downgrade(sv, TRUE)Perl_sv_utf8_downgrade_flags( sv,(1),2)) { | |||
| 10628 | SvREFCNT_dec_NN(sv)Perl_SvREFCNT_dec_NN( ((SV *)({ void *_p = (sv); _p; }))); | |||
| 10629 | return FALSE(0); | |||
| 10630 | } | |||
| 10631 | if (SvVALID(prog->substrs->data[i].utf8_substr)( ((prog->substrs->data[i].utf8_substr)->sv_flags & 0x00004000) && ((prog->substrs->data[i].utf8_substr )->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(prog->substrs->data[i].utf8_substr ); ((((svtype)((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG ) ? (void)0 : __assert2("re_exec.c", 10631, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(prog->substrs->data[i].utf8_substr ); ((((svtype)((_svmagic)->sv_flags & 0xff)) >= SVt_PVMG ) ? (void)0 : __assert2("re_exec.c", 10631, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find (prog->substrs->data[i].utf8_substr, 'B')) )) { | |||
| 10632 | if (SvTAIL(prog->substrs->data[i].utf8_substr)({ const SV *const _svtail = (const SV *)(prog->substrs-> data[i].utf8_substr); ((((svtype)((_svtail)->sv_flags & 0xff)) != SVt_PVAV) ? (void)0 : __assert2("re_exec.c", 10632 , __func__, "SvTYPE(_svtail) != SVt_PVAV")); ((((svtype)((_svtail )->sv_flags & 0xff)) != SVt_PVHV) ? (void)0 : __assert2 ("re_exec.c", 10632, __func__, "SvTYPE(_svtail) != SVt_PVHV") ); ((!((_svtail)->sv_flags & (0x00000200|0x00002000))) ? (void)0 : __assert2("re_exec.c", 10632, __func__, "!(SvFLAGS(_svtail) & (SVf_NOK|SVp_NOK))" )); ((( ((_svtail)->sv_flags & 0x00004000) && ( (_svtail)->sv_flags & 0x00400000) && (*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic )->sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2 ("re_exec.c", 10632, __func__, "SvTYPE(_svmagic) >= SVt_PVMG" )); &(((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p ; }))->xmg_u.xmg_magic); })) && ((*({ const SV *const _svmagic = (const SV *)(_svtail); ((((svtype)((_svmagic)-> sv_flags & 0xff)) >= SVt_PVMG) ? (void)0 : __assert2("re_exec.c" , 10632, __func__, "SvTYPE(_svmagic) >= SVt_PVMG")); & (((XPVMG*) ({ void *_p = ((_svmagic)->sv_any); _p; }))-> xmg_u.xmg_magic); }))->mg_type == 'B' || Perl_mg_find(_svtail , 'B')) )) ? (void)0 : __assert2("re_exec.c", 10632, __func__ , "SvVALID(_svtail)")); ((XPVNV*)(_svtail)->sv_any)->xnv_u .xnv_bm_tail; })) { | |||
| 10633 | /* Trim the trailing \n that fbm_compile added last | |||
| 10634 | time. */ | |||
| 10635 | SvCUR_set(sv, SvCUR(sv) - 1)do { ((PL_valid_types_PVX[((svtype)((sv)->sv_flags & 0xff )) & 0x1f]) ? (void)0 : __assert2("re_exec.c", 10635, __func__ , "PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]")); ((!((((sv )->sv_flags & (0x00004000|0x00008000)) == 0x00008000) && (((svtype)((sv)->sv_flags & 0xff)) == SVt_PVGV || ((svtype )((sv)->sv_flags & 0xff)) == SVt_PVLV))) ? (void)0 : __assert2 ("re_exec.c", 10635, __func__, "!isGV_with_GP(sv)")); ((!(((svtype )((sv)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO *) (sv)->sv_any)->xio_flags & 64))) ? (void)0 : __assert2 ("re_exec.c", 10635, __func__, "!(SvTYPE(sv) == SVt_PVIO && !(IoFLAGS(sv) & IOf_FAKE_DIRP))" )); (((XPV*) (sv)->sv_any)->xpv_cur = ((*({ const SV *const _svcur = (const SV *)(sv); ((PL_valid_types_PVX[((svtype)((_svcur )->sv_flags & 0xff)) & 0x1f]) ? (void)0 : __assert2 ("re_exec.c", 10635, __func__, "PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]" )); ((!((((_svcur)->sv_flags & (0x00004000|0x00008000) ) == 0x00008000) && (((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVGV || ((svtype)((_svcur)->sv_flags & 0xff )) == SVt_PVLV))) ? (void)0 : __assert2("re_exec.c", 10635, __func__ , "!isGV_with_GP(_svcur)")); ((!(((svtype)((_svcur)->sv_flags & 0xff)) == SVt_PVIO && !(((XPVIO*) (_svcur)-> sv_any)->xio_flags & 64))) ? (void)0 : __assert2("re_exec.c" , 10635, __func__, "!(SvTYPE(_svcur) == SVt_PVIO && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP))" )); &(((XPV*) ({ void *_p = ((_svcur)->sv_any); _p; }) )->xpv_cur); })) - 1)); } while (0); | |||
| 10636 | fbm_compile(sv, FBMcf_TAIL)Perl_fbm_compile( sv,(1|2|4|8)); | |||
| 10637 | } else | |||
| 10638 | fbm_compile(sv, 0)Perl_fbm_compile( sv,0); | |||
| 10639 | } | |||
| 10640 | prog->substrs->data[i].substr = sv; | |||
| 10641 | if (prog->substrs->data[i].utf8_substr == prog->check_utf8substrs->data[2].utf8_substr) | |||
| 10642 | prog->check_substrsubstrs->data[2].substr = sv; | |||
| 10643 | } | |||
| 10644 | } while (i--); | |||
| 10645 | ||||
| 10646 | return TRUE(1); | |||
| 10647 | } | |||
| 10648 | ||||
| 10649 | #ifndef PERL_IN_XSUB_RE | |||
| 10650 | ||||
| 10651 | bool_Bool | |||
| 10652 | Perl_is_grapheme(pTHX_ const U8 * strbeg, const U8 * s, const U8 * strend, const UV cp) | |||
| 10653 | { | |||
| 10654 | /* Temporary helper function for toke.c. Verify that the code point 'cp' | |||
| 10655 | * is a stand-alone grapheme. The UTF-8 for 'cp' begins at position 's' in | |||
| 10656 | * the larger string bounded by 'strbeg' and 'strend'. | |||
| 10657 | * | |||
| 10658 | * 'cp' needs to be assigned (if not, a future version of the Unicode | |||
| 10659 | * Standard could make it something that combines with adjacent characters, | |||
| 10660 | * so code using it would then break), and there has to be a GCB break | |||
| 10661 | * before and after the character. */ | |||
| 10662 | ||||
| 10663 | dVARstruct Perl___notused_struct; | |||
| 10664 | ||||
| 10665 | GCB_enum cp_gcb_val, prev_cp_gcb_val, next_cp_gcb_val; | |||
| 10666 | const U8 * prev_cp_start; | |||
| 10667 | ||||
| 10668 | PERL_ARGS_ASSERT_IS_GRAPHEME((strbeg) ? (void)0 : __assert2("re_exec.c", 10668, __func__, "strbeg")); ((s) ? (void)0 : __assert2("re_exec.c", 10668, __func__ , "s")); ((strend) ? (void)0 : __assert2("re_exec.c", 10668, __func__ , "strend")); | |||
| 10669 | ||||
| 10670 | if ( UNLIKELY(UNICODE_IS_SUPER(cp))__builtin_expect(((((UV) (cp) > 0x10FFFF)) ? (_Bool)1 : (_Bool )0),(0)) | |||
| 10671 | || UNLIKELY(UNICODE_IS_NONCHAR(cp))__builtin_expect(((( ((UV) (cp) >= 0xFDD0 && (UV) ( cp) <= 0xFDEF) || ( __builtin_expect(((! ((UV) (cp) > 0x10FFFF )) ? (_Bool)1 : (_Bool)0),(1)) && (((UV) (cp) & 0xFFFE ) == 0xFFFE)))) ? (_Bool)1 : (_Bool)0),(0))) | |||
| 10672 | { | |||
| 10673 | /* These are considered graphemes */ | |||
| 10674 | return TRUE(1); | |||
| 10675 | } | |||
| 10676 | ||||
| 10677 | /* Otherwise, unassigned code points are forbidden */ | |||
| 10678 | if (UNLIKELY(! ELEMENT_RANGE_MATCHES_INVLIST(__builtin_expect(((! (! ((Perl__invlist_search(PL_Assigned_invlist , cp)) & 1))) ? (_Bool)1 : (_Bool)0),(0)) | |||
| 10679 | _invlist_search(PL_Assigned_invlist, cp)))__builtin_expect(((! (! ((Perl__invlist_search(PL_Assigned_invlist , cp)) & 1))) ? (_Bool)1 : (_Bool)0),(0))) | |||
| 10680 | { | |||
| 10681 | return FALSE(0); | |||
| 10682 | } | |||
| 10683 | ||||
| 10684 | cp_gcb_val = getGCB_VAL_CP(cp)_Perl_GCB_invmap[S_get_break_val_cp_checked(PL_GCB_invlist, ( cp))]; | |||
| 10685 | ||||
| 10686 | /* Find the GCB value of the previous code point in the input */ | |||
| 10687 | prev_cp_start = utf8_hop_backPerl_utf8_hop_back(s, -1, strbeg); | |||
| 10688 | if (UNLIKELY(prev_cp_start == s)__builtin_expect(((prev_cp_start == s) ? (_Bool)1 : (_Bool)0) ,(0))) { | |||
| 10689 | prev_cp_gcb_val = GCB_EDGE; | |||
| 10690 | } | |||
| 10691 | else { | |||
| 10692 | prev_cp_gcb_val = getGCB_VAL_UTF8(prev_cp_start, strend)(((prev_cp_start < strend) ? (void)0 : __assert2("re_exec.c" , 10692, __func__, "prev_cp_start < strend")), (_Perl_GCB_invmap [S_get_break_val_cp_checked(PL_GCB_invlist, (Perl_utf8_to_uvchr_buf_helper ( (const U8 *) ((prev_cp_start)),(const U8 *) (strend),((void *)0))))])); | |||
| 10693 | } | |||
| 10694 | ||||
| 10695 | /* And check that is a grapheme boundary */ | |||
| 10696 | if (! isGCB(prev_cp_gcb_val, cp_gcb_val, strbeg, s,S_isGCB( prev_cp_gcb_val,cp_gcb_val,strbeg,s,(1)) | |||
| 10697 | TRUE /* is UTF-8 encoded */ )S_isGCB( prev_cp_gcb_val,cp_gcb_val,strbeg,s,(1))) | |||
| 10698 | { | |||
| 10699 | return FALSE(0); | |||
| 10700 | } | |||
| 10701 | ||||
| 10702 | /* Similarly verify there is a break between the current character and the | |||
| 10703 | * following one */ | |||
| 10704 | s += UTF8SKIP(s)PL_utf8skip[*(const U8*)(s)]; | |||
| 10705 | if (s >= strend) { | |||
| 10706 | next_cp_gcb_val = GCB_EDGE; | |||
| 10707 | } | |||
| 10708 | else { | |||
| 10709 | next_cp_gcb_val = getGCB_VAL_UTF8(s, strend)(((s < strend) ? (void)0 : __assert2("re_exec.c", 10709, __func__ , "s < strend")), (_Perl_GCB_invmap[S_get_break_val_cp_checked (PL_GCB_invlist, (Perl_utf8_to_uvchr_buf_helper( (const U8 *) ((s)),(const U8 *) (strend),((void*)0))))])); | |||
| 10710 | } | |||
| 10711 | ||||
| 10712 | return isGCB(cp_gcb_val, next_cp_gcb_val, strbeg, s, TRUE)S_isGCB( cp_gcb_val,next_cp_gcb_val,strbeg,s,(1)); | |||
| 10713 | } | |||
| 10714 | ||||
| 10715 | /* | |||
| 10716 | =head1 Unicode Support | |||
| 10717 | ||||
| 10718 | =for apidoc isSCRIPT_RUN | |||
| 10719 | ||||
| 10720 | Returns a bool as to whether or not the sequence of bytes from C<s> up to but | |||
| 10721 | not including C<send> form a "script run". C<utf8_target> is TRUE iff the | |||
| 10722 | sequence starting at C<s> is to be treated as UTF-8. To be precise, except for | |||
| 10723 | two degenerate cases given below, this function returns TRUE iff all code | |||
| 10724 | points in it come from any combination of three "scripts" given by the Unicode | |||
| 10725 | "Script Extensions" property: Common, Inherited, and possibly one other. | |||
| 10726 | Additionally all decimal digits must come from the same consecutive sequence of | |||
| 10727 | 10. | |||
| 10728 | ||||
| 10729 | For example, if all the characters in the sequence are Greek, or Common, or | |||
| 10730 | Inherited, this function will return TRUE, provided any decimal digits in it | |||
| 10731 | are from the same block of digits in Common. (These are the ASCII digits | |||
| 10732 | "0".."9" and additionally a block for full width forms of these, and several | |||
| 10733 | others used in mathematical notation.) For scripts (unlike Greek) that have | |||
| 10734 | their own digits defined this will accept either digits from that set or from | |||
| 10735 | one of the Common digit sets, but not a combination of the two. Some scripts, | |||
| 10736 | such as Arabic, have more than one set of digits. All digits must come from | |||
| 10737 | the same set for this function to return TRUE. | |||
| 10738 | ||||
| 10739 | C<*ret_script>, if C<ret_script> is not NULL, will on return of TRUE | |||
| 10740 | contain the script found, using the C<SCX_enum> typedef. Its value will be | |||
| 10741 | C<SCX_INVALID> if the function returns FALSE. | |||
| 10742 | ||||
| 10743 | If the sequence is empty, TRUE is returned, but C<*ret_script> (if asked for) | |||
| 10744 | will be C<SCX_INVALID>. | |||
| 10745 | ||||
| 10746 | If the sequence contains a single code point which is unassigned to a character | |||
| 10747 | in the version of Unicode being used, the function will return TRUE, and the | |||
| 10748 | script will be C<SCX_Unknown>. Any other combination of unassigned code points | |||
| 10749 | in the input sequence will result in the function treating the input as not | |||
| 10750 | being a script run. | |||
| 10751 | ||||
| 10752 | The returned script will be C<SCX_Inherited> iff all the code points in it are | |||
| 10753 | from the Inherited script. | |||
| 10754 | ||||
| 10755 | Otherwise, the returned script will be C<SCX_Common> iff all the code points in | |||
| 10756 | it are from the Inherited or Common scripts. | |||
| 10757 | ||||
| 10758 | =cut | |||
| 10759 | ||||
| 10760 | */ | |||
| 10761 | ||||
| 10762 | bool_Bool | |||
| 10763 | Perl_isSCRIPT_RUN(pTHX_ const U8 * s, const U8 * send, const bool_Bool utf8_target) | |||
| 10764 | { | |||
| 10765 | /* Basically, it looks at each character in the sequence to see if the | |||
| 10766 | * above conditions are met; if not it fails. It uses an inversion map to | |||
| 10767 | * find the enum corresponding to the script of each character. But this | |||
| 10768 | * is complicated by the fact that a few code points can be in any of | |||
| 10769 | * several scripts. The data has been constructed so that there are | |||
| 10770 | * additional enum values (all negative) for these situations. The | |||
| 10771 | * absolute value of those is an index into another table which contains | |||
| 10772 | * pointers to auxiliary tables for each such situation. Each aux array | |||
| 10773 | * lists all the scripts for the given situation. There is another, | |||
| 10774 | * parallel, table that gives the number of entries in each aux table. | |||
| 10775 | * These are all defined in charclass_invlists.h */ | |||
| 10776 | ||||
| 10777 | /* XXX Here are the additional things UTS 39 says could be done: | |||
| 10778 | * | |||
| 10779 | * Forbid sequences of the same nonspacing mark | |||
| 10780 | * | |||
| 10781 | * Check to see that all the characters are in the sets of exemplar | |||
| 10782 | * characters for at least one language in the Unicode Common Locale Data | |||
| 10783 | * Repository [CLDR]. */ | |||
| 10784 | ||||
| 10785 | dVARstruct Perl___notused_struct; | |||
| 10786 | ||||
| 10787 | /* Things that match /\d/u */ | |||
| 10788 | SV * decimals_invlist = PL_XPosix_ptrs[_CC_DIGIT1]; | |||
| 10789 | UV * decimals_array = invlist_arrayS_invlist_array(decimals_invlist); | |||
| 10790 | ||||
| 10791 | /* What code point is the digit '0' of the script run? (0 meaning FALSE if | |||
| 10792 | * not currently known) */ | |||
| 10793 | UV zero_of_run = 0; | |||
| 10794 | ||||
| 10795 | SCX_enum script_of_run = SCX_INVALID; /* Illegal value */ | |||
| 10796 | SCX_enum script_of_char = SCX_INVALID; | |||
| 10797 | ||||
| 10798 | /* If the script remains not fully determined from iteration to iteration, | |||
| 10799 | * this is the current intersection of the possiblities. */ | |||
| 10800 | SCX_enum * intersection = NULL((void*)0); | |||
| 10801 | PERL_UINT_FAST8_T intersection_len = 0; | |||
| 10802 | ||||
| 10803 | bool_Bool retval = TRUE(1); | |||
| 10804 | SCX_enum * ret_script = NULL((void*)0); | |||
| 10805 | ||||
| 10806 | assert(send >= s)((send >= s) ? (void)0 : __assert2("re_exec.c", 10806, __func__ , "send >= s")); | |||
| 10807 | ||||
| 10808 | PERL_ARGS_ASSERT_ISSCRIPT_RUN((s) ? (void)0 : __assert2("re_exec.c", 10808, __func__, "s") ); ((send) ? (void)0 : __assert2("re_exec.c", 10808, __func__ , "send")); | |||
| 10809 | ||||
| 10810 | /* All code points in 0..255 are either Common or Latin, so must be a | |||
| 10811 | * script run. We can return immediately unless we need to know which | |||
| 10812 | * script it is. */ | |||
| 10813 | if (! utf8_target && LIKELY(send > s)__builtin_expect(((send > s) ? (_Bool)1 : (_Bool)0),(1))) { | |||
| 10814 | if (ret_script == NULL((void*)0)) { | |||
| 10815 | return TRUE(1); | |||
| 10816 | } | |||
| 10817 | ||||
| 10818 | /* If any character is Latin, the run is Latin */ | |||
| 10819 | while (s < send) { | |||
| 10820 | if (isALPHA_L1(*s)((( (sizeof(*s) == 1) || !(((U64)((*s) | 0)) & ~0xFF)) && (PL_charclass[(U8) (*s)] & (1U << (2)))) ? (_Bool) 1 : (_Bool)0) && LIKELY(*s != MICRO_SIGN_NATIVE)__builtin_expect(((*s != 0xB5) ? (_Bool)1 : (_Bool)0),(1))) { | |||
| 10821 | *ret_script = SCX_Latin; | |||
| 10822 | return TRUE(1); | |||
| 10823 | } | |||
| 10824 | } | |||
| 10825 | ||||
| 10826 | /* Here, all are Common */ | |||
| 10827 | *ret_script = SCX_Common; | |||
| 10828 | return TRUE(1); | |||
| 10829 | } | |||
| 10830 | ||||
| 10831 | /* Look at each character in the sequence */ | |||
| 10832 | while (s < send) { | |||
| 10833 | /* If the current character being examined is a digit, this is the code | |||
| 10834 | * point of the zero for its sequence of 10 */ | |||
| 10835 | UV zero_of_char; | |||
| 10836 | ||||
| 10837 | UV cp; | |||
| 10838 | ||||
| 10839 | /* The code allows all scripts to use the ASCII digits. This is | |||
| 10840 | * because they are in the Common script. Hence any ASCII ones found | |||
| 10841 | * are ok, unless and until a digit from another set has already been | |||
| 10842 | * encountered. digit ranges in Common are not similarly blessed) */ | |||
| 10843 | if (UNLIKELY(isDIGIT(*s))__builtin_expect((((((('9') >= ('0')) ? (void)0 : __assert2 ("re_exec.c", 10843, __func__, "('9') >= ('0')")), ( (sizeof (*s) == sizeof(U8)) ? ((((NV) (('0')) >= 0) ? (void)0 : __assert2 ("re_exec.c", 10843, __func__, "(NV) (('0')) >= 0")), (((NV ) ((('9') - ('0'))) >= 0) ? (void)0 : __assert2("re_exec.c" , 10843, __func__, "(NV) ((('9') - ('0'))) >= 0")), (((U64 ) (((((U8) (*s)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : (sizeof(*s) == sizeof(U32)) ? ((((NV) (('0' )) >= 0) ? (void)0 : __assert2("re_exec.c", 10843, __func__ , "(NV) (('0')) >= 0")), (((NV) ((('9') - ('0'))) >= 0) ? (void)0 : __assert2("re_exec.c", 10843, __func__, "(NV) ((('9') - ('0'))) >= 0" )), (((U64) (((((U32) (*s)))) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0))))) : (((sizeof(*s) == sizeof(U64)) ? (void)0 : __assert2("re_exec.c", 10843, __func__, "sizeof(*s) == sizeof(U64)" )), ((((NV) (('0')) >= 0) ? (void)0 : __assert2("re_exec.c" , 10843, __func__, "(NV) (('0')) >= 0")), (((NV) ((('9') - ('0'))) >= 0) ? (void)0 : __assert2("re_exec.c", 10843, __func__ , "(NV) ((('9') - ('0'))) >= 0")), (((U64) (((((U64) (*s)) )) - ((('0')) | 0))) <= (((U64) (((('9') - ('0'))) | 0)))) ))))) ? (_Bool)1 : (_Bool)0),(0))) { | |||
| 10844 | if (UNLIKELY(script_of_run == SCX_Unknown)__builtin_expect(((script_of_run == SCX_Unknown) ? (_Bool)1 : (_Bool)0),(0))) { | |||
| 10845 | retval = FALSE(0); | |||
| 10846 | break; | |||
| 10847 | } | |||
| 10848 | if (zero_of_run) { | |||
| 10849 | if (zero_of_run != '0') { | |||
| 10850 | retval = FALSE(0); | |||
| 10851 | break; | |||
| 10852 | } | |||
| 10853 | } | |||
| 10854 | else { | |||
| 10855 | zero_of_run = '0'; | |||
| 10856 | } | |||
| 10857 | s++; | |||
| 10858 | continue; | |||
| 10859 | } | |||
| 10860 | ||||
| 10861 | /* Here, isn't an ASCII digit. Find the code point of the character */ | |||
| 10862 | if (! UTF8_IS_INVARIANT(*s)((((U64)(((UV) (((*s) | 0) | 0)))) < (((U8) (0xFF << 6)) & 0xB0)))) { | |||
| 10863 | Size_tsize_t len; | |||
| 10864 | cp = valid_utf8_to_uvchrPerl_valid_utf8_to_uvchr((U8 *) s, &len); | |||
| 10865 | s += len; | |||
| 10866 | } | |||
| 10867 | else { | |||
| 10868 | cp = *(s++); | |||
| 10869 | } | |||
| 10870 | ||||
| 10871 | /* If is within the range [+0 .. +9] of the script's zero, it also is a | |||
| 10872 | * digit in that script. We can skip the rest of this code for this | |||
| 10873 | * character. */ | |||
| 10874 | if (UNLIKELY( zero_of_run__builtin_expect(((zero_of_run && cp >= zero_of_run && cp - zero_of_run <= 9) ? (_Bool)1 : (_Bool)0), (0)) | |||
| 10875 | && cp >= zero_of_run__builtin_expect(((zero_of_run && cp >= zero_of_run && cp - zero_of_run <= 9) ? (_Bool)1 : (_Bool)0), (0)) | |||
| 10876 | && cp - zero_of_run <= 9)__builtin_expect(((zero_of_run && cp >= zero_of_run && cp - zero_of_run <= 9) ? (_Bool)1 : (_Bool)0), (0))) | |||
| 10877 | { | |||
| 10878 | continue; | |||
| 10879 | } | |||
| 10880 | ||||
| 10881 | /* Find the character's script. The correct values are hard-coded here | |||
| 10882 | * for small-enough code points. */ | |||
| 10883 | if (cp < 0x2B9) { /* From inspection of Unicode db; extremely | |||
| 10884 | unlikely to change */ | |||
| 10885 | if ( cp > 255 | |||
| 10886 | || ( isALPHA_L1(cp)((( (sizeof(cp) == 1) || !(((U64)((cp) | 0)) & ~0xFF)) && (PL_charclass[(U8) (cp)] & (1U << (2)))) ? (_Bool) 1 : (_Bool)0) | |||
| 10887 | && LIKELY(cp != MICRO_SIGN_NATIVE)__builtin_expect(((cp != 0xB5) ? (_Bool)1 : (_Bool)0),(1)))) | |||
| 10888 | { | |||
| 10889 | script_of_char = SCX_Latin; | |||
| 10890 | } | |||
| 10891 | else { | |||
| 10892 | script_of_char = SCX_Common; | |||
| 10893 | } | |||
| 10894 | } | |||
| 10895 | else { | |||
| 10896 | script_of_char = _Perl_SCX_invmap[ | |||
| 10897 | _invlist_searchPerl__invlist_search(PL_SCX_invlist, cp)]; | |||
| 10898 | } | |||
| 10899 | ||||
| 10900 | /* We arbitrarily accept a single unassigned character, but not in | |||
| 10901 | * combination with anything else, and not a run of them. */ | |||
| 10902 | if ( UNLIKELY(script_of_run == SCX_Unknown)__builtin_expect(((script_of_run == SCX_Unknown) ? (_Bool)1 : (_Bool)0),(0)) | |||
| 10903 | || UNLIKELY( script_of_run != SCX_INVALID__builtin_expect(((script_of_run != SCX_INVALID && script_of_char == SCX_Unknown) ? (_Bool)1 : (_Bool)0),(0)) | |||
| 10904 | && script_of_char == SCX_Unknown)__builtin_expect(((script_of_run != SCX_INVALID && script_of_char == SCX_Unknown) ? (_Bool)1 : (_Bool)0),(0))) | |||
| 10905 | { | |||
| 10906 | retval = FALSE(0); | |||
| 10907 | break; | |||
| 10908 | } | |||
| 10909 | ||||
| 10910 | /* For the first character, or the run is inherited, the run's script | |||
| 10911 | * is set to the char's */ | |||
| 10912 | if ( UNLIKELY(script_of_run == SCX_INVALID)__builtin_expect(((script_of_run == SCX_INVALID) ? (_Bool)1 : (_Bool)0),(0)) | |||
| 10913 | || UNLIKELY(script_of_run == SCX_Inherited)__builtin_expect(((script_of_run == SCX_Inherited) ? (_Bool)1 : (_Bool)0),(0))) | |||
| 10914 | { | |||
| 10915 | script_of_run = script_of_char; | |||
| 10916 | } | |||
| 10917 | ||||
| 10918 | /* For the character's script to be Unknown, it must be the first | |||
| 10919 | * character in the sequence (for otherwise a test above would have | |||
| 10920 | * prevented us from reaching here), and we have set the run's script | |||
| 10921 | * to it. Nothing further to be done for this character */ | |||
| 10922 | if (UNLIKELY(script_of_char == SCX_Unknown)__builtin_expect(((script_of_char == SCX_Unknown) ? (_Bool)1 : (_Bool)0),(0))) { | |||
| 10923 | continue; | |||
| 10924 | } | |||
| 10925 | ||||
| 10926 | /* We accept 'inherited' script characters currently even at the | |||
| 10927 | * beginning. (We know that no characters in Inherited are digits, or | |||
| 10928 | * we'd have to check for that) */ | |||
| 10929 | if (UNLIKELY(script_of_char == SCX_Inherited)__builtin_expect(((script_of_char == SCX_Inherited) ? (_Bool) 1 : (_Bool)0),(0))) { | |||
| 10930 | continue; | |||
| 10931 | } | |||
| 10932 | ||||
| 10933 | /* If the run so far is Common, and the new character isn't, change the | |||
| 10934 | * run's script to that of this character */ | |||
| 10935 | if (script_of_run == SCX_Common && script_of_char != SCX_Common) { | |||
| 10936 | script_of_run = script_of_char; | |||
| 10937 | } | |||
| 10938 | ||||
| 10939 | /* Now we can see if the script of the new character is the same as | |||
| 10940 | * that of the run */ | |||
| 10941 | if (LIKELY(script_of_char == script_of_run)__builtin_expect(((script_of_char == script_of_run) ? (_Bool) 1 : (_Bool)0),(1))) { | |||
| 10942 | /* By far the most common case */ | |||
| 10943 | goto scripts_match; | |||
| 10944 | } | |||
| 10945 | ||||
| 10946 | /* Here, the script of the run isn't Common. But characters in Common | |||
| 10947 | * match any script */ | |||
| 10948 | if (script_of_char == SCX_Common) { | |||
| 10949 | goto scripts_match; | |||
| 10950 | } | |||
| 10951 | ||||
| 10952 | #ifndef HAS_SCX_AUX_TABLES | |||
| 10953 | ||||
| 10954 | /* Too early a Unicode version to have a code point belonging to more | |||
| 10955 | * than one script, so, if the scripts don't exactly match, fail */ | |||
| 10956 | PERL_UNUSED_VAR(intersection_len)((void)sizeof(intersection_len)); | |||
| 10957 | retval = FALSE(0); | |||
| 10958 | break; | |||
| 10959 | ||||
| 10960 | #else | |||
| 10961 | ||||
| 10962 | /* Here there is no exact match between the character's script and the | |||
| 10963 | * run's. And we've handled the special cases of scripts Unknown, | |||
| 10964 | * Inherited, and Common. | |||
| 10965 | * | |||
| 10966 | * Negative script numbers signify that the value may be any of several | |||
| 10967 | * scripts, and we need to look at auxiliary information to make our | |||
| 10968 | * deterimination. But if both are non-negative, we can fail now */ | |||
| 10969 | if (LIKELY(script_of_char >= 0)__builtin_expect(((script_of_char >= 0) ? (_Bool)1 : (_Bool )0),(1))) { | |||
| 10970 | const SCX_enum * search_in; | |||
| 10971 | PERL_UINT_FAST8_T search_in_len; | |||
| 10972 | PERL_UINT_FAST8_T i; | |||
| 10973 | ||||
| 10974 | if (LIKELY(script_of_run >= 0)__builtin_expect(((script_of_run >= 0) ? (_Bool)1 : (_Bool )0),(1))) { | |||
| 10975 | retval = FALSE(0); | |||
| 10976 | break; | |||
| 10977 | } | |||
| 10978 | ||||
| 10979 | /* Use the previously constructed set of possible scripts, if any. | |||
| 10980 | * */ | |||
| 10981 | if (intersection) { | |||
| 10982 | search_in = intersection; | |||
| 10983 | search_in_len = intersection_len; | |||
| 10984 | } | |||
| 10985 | else { | |||
| 10986 | search_in = SCX_AUX_TABLE_ptrs[-script_of_run]; | |||
| 10987 | search_in_len = SCX_AUX_TABLE_lengths[-script_of_run]; | |||
| 10988 | } | |||
| 10989 | ||||
| 10990 | for (i = 0; i < search_in_len; i++) { | |||
| 10991 | if (search_in[i] == script_of_char) { | |||
| 10992 | script_of_run = script_of_char; | |||
| 10993 | goto scripts_match; | |||
| 10994 | } | |||
| 10995 | } | |||
| 10996 | ||||
| 10997 | retval = FALSE(0); | |||
| 10998 | break; | |||
| 10999 | } | |||
| 11000 | else if (LIKELY(script_of_run >= 0)__builtin_expect(((script_of_run >= 0) ? (_Bool)1 : (_Bool )0),(1))) { | |||
| 11001 | /* script of character could be one of several, but run is a single | |||
| 11002 | * script */ | |||
| 11003 | const SCX_enum * search_in = SCX_AUX_TABLE_ptrs[-script_of_char]; | |||
| 11004 | const PERL_UINT_FAST8_T search_in_len | |||
| 11005 | = SCX_AUX_TABLE_lengths[-script_of_char]; | |||
| 11006 | PERL_UINT_FAST8_T i; | |||
| 11007 | ||||
| 11008 | for (i = 0; i < search_in_len; i++) { | |||
| 11009 | if (search_in[i] == script_of_run) { | |||
| 11010 | script_of_char = script_of_run; | |||
| 11011 | goto scripts_match; | |||
| 11012 | } | |||
| 11013 | } | |||
| 11014 | ||||
| 11015 | retval = FALSE(0); | |||
| 11016 | break; | |||
| 11017 | } | |||
| 11018 | else { | |||
| 11019 | /* Both run and char could be in one of several scripts. If the | |||
| 11020 | * intersection is empty, then this character isn't in this script | |||
| 11021 | * run. Otherwise, we need to calculate the intersection to use | |||
| 11022 | * for future iterations of the loop, unless we are already at the | |||
| 11023 | * final character */ | |||
| 11024 | const SCX_enum * search_char = SCX_AUX_TABLE_ptrs[-script_of_char]; | |||
| 11025 | const PERL_UINT_FAST8_T char_len | |||
| 11026 | = SCX_AUX_TABLE_lengths[-script_of_char]; | |||
| 11027 | const SCX_enum * search_run; | |||
| 11028 | PERL_UINT_FAST8_T run_len; | |||
| 11029 | ||||
| 11030 | SCX_enum * new_overlap = NULL((void*)0); | |||
| 11031 | PERL_UINT_FAST8_T i, j; | |||
| 11032 | ||||
| 11033 | if (intersection) { | |||
| 11034 | search_run = intersection; | |||
| 11035 | run_len = intersection_len; | |||
| 11036 | } | |||
| 11037 | else { | |||
| 11038 | search_run = SCX_AUX_TABLE_ptrs[-script_of_run]; | |||
| 11039 | run_len = SCX_AUX_TABLE_lengths[-script_of_run]; | |||
| 11040 | } | |||
| 11041 | ||||
| 11042 | intersection_len = 0; | |||
| 11043 | ||||
| 11044 | for (i = 0; i < run_len; i++) { | |||
| 11045 | for (j = 0; j < char_len; j++) { | |||
| 11046 | if (search_run[i] == search_char[j]) { | |||
| 11047 | ||||
| 11048 | /* Here, the script at i,j matches. That means this | |||
| 11049 | * character is in the run. But continue on to find | |||
| 11050 | * the complete intersection, for the next loop | |||
| 11051 | * iteration, and for the digit check after it. | |||
| 11052 | * | |||
| 11053 | * On the first found common script, we malloc space | |||
| 11054 | * for the intersection list for the worst case of the | |||
| 11055 | * intersection, which is the minimum of the number of | |||
| 11056 | * scripts remaining in each set. */ | |||
| 11057 | if (intersection_len == 0) { | |||
| 11058 | Newx(new_overlap,(new_overlap = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j))) || sizeof(SCX_enum) > ((size_t)1 << 8*(sizeof (size_t) - sizeof((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j)))))) ? (size_t)((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j))) : ((size_t)-1)/sizeof(SCX_enum )) > ((size_t)-1)/sizeof(SCX_enum))) ? (_Bool)1 : (_Bool)0 ),(0)) && (Perl_croak_memory_wrap(),0)), (SCX_enum*)( Perl_safesysmalloc((size_t)(((((run_len - i)<(char_len - j ))?(run_len - i):(char_len - j)))*sizeof(SCX_enum)))))) | |||
| 11059 | MIN(run_len - i, char_len - j),(new_overlap = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j))) || sizeof(SCX_enum) > ((size_t)1 << 8*(sizeof (size_t) - sizeof((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j)))))) ? (size_t)((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j))) : ((size_t)-1)/sizeof(SCX_enum )) > ((size_t)-1)/sizeof(SCX_enum))) ? (_Bool)1 : (_Bool)0 ),(0)) && (Perl_croak_memory_wrap(),0)), (SCX_enum*)( Perl_safesysmalloc((size_t)(((((run_len - i)<(char_len - j ))?(run_len - i):(char_len - j)))*sizeof(SCX_enum)))))) | |||
| 11060 | SCX_enum)(new_overlap = ((void)(__builtin_expect(((((( sizeof(size_t) < sizeof((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j))) || sizeof(SCX_enum) > ((size_t)1 << 8*(sizeof (size_t) - sizeof((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j)))))) ? (size_t)((((run_len - i)<(char_len - j))?(run_len - i):(char_len - j))) : ((size_t)-1)/sizeof(SCX_enum )) > ((size_t)-1)/sizeof(SCX_enum))) ? (_Bool)1 : (_Bool)0 ),(0)) && (Perl_croak_memory_wrap(),0)), (SCX_enum*)( Perl_safesysmalloc((size_t)(((((run_len - i)<(char_len - j ))?(run_len - i):(char_len - j)))*sizeof(SCX_enum)))))); | |||
| 11061 | } | |||
| 11062 | new_overlap[intersection_len++] = search_run[i]; | |||
| 11063 | } | |||
| 11064 | } | |||
| 11065 | } | |||
| 11066 | ||||
| 11067 | /* Here we've looked through everything. If they have no scripts | |||
| 11068 | * in common, not a run */ | |||
| 11069 | if (intersection_len == 0) { | |||
| 11070 | retval = FALSE(0); | |||
| 11071 | break; | |||
| 11072 | } | |||
| 11073 | ||||
| 11074 | /* If there is only a single script in common, set to that. | |||
| 11075 | * Otherwise, use the intersection going forward */ | |||
| 11076 | Safefree(intersection)Perl_safesysfree(((void *)(intersection))); | |||
| 11077 | intersection = NULL((void*)0); | |||
| 11078 | if (intersection_len == 1) { | |||
| 11079 | script_of_run = script_of_char = new_overlap[0]; | |||
| 11080 | Safefree(new_overlap)Perl_safesysfree(((void *)(new_overlap))); | |||
| 11081 | new_overlap = NULL((void*)0); | |||
| 11082 | } | |||
| 11083 | else { | |||
| 11084 | intersection = new_overlap; | |||
| 11085 | } | |||
| 11086 | } | |||
| 11087 | ||||
| 11088 | #endif | |||
| 11089 | ||||
| 11090 | scripts_match: | |||
| 11091 | ||||
| 11092 | /* Here, the script of the character is compatible with that of the | |||
| 11093 | * run. That means that in most cases, it continues the script run. | |||
| 11094 | * Either it and the run match exactly, or one or both can be in any of | |||
| 11095 | * several scripts, and the intersection is not empty. However, if the | |||
| 11096 | * character is a decimal digit, it could still mean failure if it is | |||
| 11097 | * from the wrong sequence of 10. So, we need to look at if it's a | |||
| 11098 | * digit. We've already handled the 10 decimal digits, and the next | |||
| 11099 | * lowest one is this one: */ | |||
| 11100 | if (cp < FIRST_NON_ASCII_DECIMAL_DIGIT0x660) { | |||
| 11101 | continue; /* Not a digit; this character is part of the run */ | |||
| 11102 | } | |||
| 11103 | ||||
| 11104 | /* If we have a definitive '0' for the script of this character, we | |||
| 11105 | * know that for this to be a digit, it must be in the range of +0..+9 | |||
| 11106 | * of that zero. */ | |||
| 11107 | if ( script_of_char >= 0 | |||
| 11108 | && (zero_of_char = script_zeros[script_of_char])) | |||
| 11109 | { | |||
| 11110 | if ( cp < zero_of_char | |||
| 11111 | || cp > zero_of_char + 9) | |||
| 11112 | { | |||
| 11113 | continue; /* Not a digit; this character is part of the run | |||
| 11114 | */ | |||
| 11115 | } | |||
| 11116 | ||||
| 11117 | } | |||
| 11118 | else { /* Need to look up if this character is a digit or not */ | |||
| 11119 | SSize_tssize_t index_of_zero_of_char; | |||
| 11120 | index_of_zero_of_char = _invlist_searchPerl__invlist_search(decimals_invlist, cp); | |||
| 11121 | if ( UNLIKELY(index_of_zero_of_char < 0)__builtin_expect(((index_of_zero_of_char < 0) ? (_Bool)1 : (_Bool)0),(0)) | |||
| 11122 | || ! ELEMENT_RANGE_MATCHES_INVLIST(index_of_zero_of_char)(! ((index_of_zero_of_char) & 1))) | |||
| 11123 | { | |||
| 11124 | continue; /* Not a digit; this character is part of the run. | |||
| 11125 | */ | |||
| 11126 | } | |||
| 11127 | ||||
| 11128 | zero_of_char = decimals_array[index_of_zero_of_char]; | |||
| 11129 | } | |||
| 11130 | ||||
| 11131 | /* Here, the character is a decimal digit, and the zero of its sequence | |||
| 11132 | * of 10 is in 'zero_of_char'. If we already have a zero for this run, | |||
| 11133 | * they better be the same. */ | |||
| 11134 | if (zero_of_run) { | |||
| 11135 | if (zero_of_run != zero_of_char) { | |||
| 11136 | retval = FALSE(0); | |||
| 11137 | break; | |||
| 11138 | } | |||
| 11139 | } | |||
| 11140 | else { /* Otherwise we now have a zero for this run */ | |||
| 11141 | zero_of_run = zero_of_char; | |||
| 11142 | } | |||
| 11143 | } /* end of looping through CLOSESR text */ | |||
| 11144 | ||||
| 11145 | Safefree(intersection)Perl_safesysfree(((void *)(intersection))); | |||
| 11146 | ||||
| 11147 | if (ret_script != NULL((void*)0)) { | |||
| 11148 | if (retval) { | |||
| 11149 | *ret_script = script_of_run; | |||
| 11150 | } | |||
| 11151 | else { | |||
| 11152 | *ret_script = SCX_INVALID; | |||
| 11153 | } | |||
| 11154 | } | |||
| 11155 | ||||
| 11156 | return retval; | |||
| 11157 | } | |||
| 11158 | ||||
| 11159 | #endif /* ifndef PERL_IN_XSUB_RE */ | |||
| 11160 | ||||
| 11161 | /* | |||
| 11162 | * ex: set ts=8 sts=4 sw=4 et: | |||
| 11163 | */ |