xref: /openbsd/gnu/usr.bin/perl/t/lib/croak/regcomp (revision 256a93a4)
15759b3d2Safresh1__END__
25759b3d2Safresh1# NAME \N{U+too large} on 64-bit machine
35759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} < 8 && "Not 64 bit"
45759b3d2Safresh1qr/\N{U+7FFFFFFFFFFFFFFF}/;
55759b3d2Safresh1qr/\N{U+1_0000_0000_0000_0000}/;
65759b3d2Safresh1EXPECT
7*de8cc8edSafresh1Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
85759b3d2Safresh1########
95759b3d2Safresh1# NAME \N{U+too large} on 32-bit machine
105759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} > 4 && "Not 32 bit"
115759b3d2Safresh1qr/\N{U+7FFFFFFF}/;
125759b3d2Safresh1qr/\N{U+1_0000_0000}/;
135759b3d2Safresh1EXPECT
14*de8cc8edSafresh1Use of code point 0x1_0000_0000 is not allowed; the permissible max is 0x7FFFFFFF in regex; marked by <-- HERE in m/\N{U+1_0000_0000 <-- HERE }/ at - line 2.
155759b3d2Safresh1########
165759b3d2Safresh1# NAME \N{U+100.too large} on 64-bit machine
175759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} < 8 && "Not 64 bit"
185759b3d2Safresh1qr/\N{U+100.7FFFFFFFFFFFFFFF}/;
195759b3d2Safresh1qr/\N{U+100.1_0000_0000_0000_0000}/;
205759b3d2Safresh1EXPECT
21*de8cc8edSafresh1Use of code point 0x1_0000_0000_0000_0000 is not allowed; the permissible max is 0x7FFFFFFFFFFFFFFF in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000_0000_0000 <-- HERE }/ at - line 2.
225759b3d2Safresh1########
235759b3d2Safresh1# NAME \N{U+100.too large} on 32-bit machine
245759b3d2Safresh1# SKIP ? use Config; $Config{uvsize} > 4 && "Not 32 bit"
255759b3d2Safresh1qr/\N{U+100.7FFFFFFF}/;
265759b3d2Safresh1qr/\N{U+100.1_0000_0000}/;
275759b3d2Safresh1EXPECT
28*de8cc8edSafresh1Use of code point 0x1_0000_0000 is not allowed; the permissible max is 0x7FFFFFFF in regex; marked by <-- HERE in m/\N{U+100.1_0000_0000 <-- HERE }/ at - line 2.
295759b3d2Safresh1########
305759b3d2Safresh1# NAME \N{U+.}
315759b3d2Safresh1my $p00="\\N{U+.}"; qr/$p00/;
325759b3d2Safresh1EXPECT
335759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+. <-- HERE }/ at - line 1.
345759b3d2Safresh1########
355759b3d2Safresh1# NAME \N{U+100.}
365759b3d2Safresh1my $p00="\\N{U+100.}"; qr/$p00/;
375759b3d2Safresh1EXPECT
385759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+100. <-- HERE }/ at - line 1.
395759b3d2Safresh1########
405759b3d2Safresh1# NAME \N{U+_100}
415759b3d2Safresh1my $p00="\\N{U+_100}"; qr/$p00/;
425759b3d2Safresh1EXPECT
435759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+_ <-- HERE 100}/ at - line 1.
445759b3d2Safresh1########
455759b3d2Safresh1# NAME \N{U+100_}
465759b3d2Safresh1my $p00="\\N{U+100_}"; qr/$p00/;
475759b3d2Safresh1EXPECT
485759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+100_ <-- HERE }/ at - line 1.
495759b3d2Safresh1########
505759b3d2Safresh1# NAME [\xDF\N{U+.}]
515759b3d2Safresh1# SKIP ? ord("A") != 65 && "Test valid only on ASCII machines"
525759b3d2Safresh1my $p00="[\\xDF\\N{U+.}]"; qr/$p00/ui;
535759b3d2Safresh1# The sharp s under /i recodes the parse, and this was causing a segfault when
545759b3d2Safresh1# the error message referred to the original pattern
555759b3d2Safresh1EXPECT
565759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/[\xDF\N{U+. <-- HERE }]/ at - line 1.
575759b3d2Safresh1########
585759b3d2Safresh1# NAME [\x59\N{U+.}]
595759b3d2Safresh1# SKIP ? ord("A") == 65 && "Test valid only on EBCDIC machines"
605759b3d2Safresh1my $p00="[\\x59\\N{U+.}]"; qr/$p00/ui;
615759b3d2Safresh1# The sharp s under /i recodes the parse, and this was causing a segfault when
625759b3d2Safresh1# the error message referred to the original pattern
635759b3d2Safresh1EXPECT
645759b3d2Safresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/[\x59\N{U+. <-- HERE }]/ at - line 1.
655759b3d2Safresh1########
66*de8cc8edSafresh1# NAME \N{U+...} leading underscore not allowed, medial is allowed
67*de8cc8edSafresh1my $p00='\N{U+FF_FF}'; qr/$p00/;
68*de8cc8edSafresh1$p00='\N{U+_FF}'; qr/$p00/;
69*de8cc8edSafresh1EXPECT
70*de8cc8edSafresh1Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in m/\N{U+_ <-- HERE FF}/ at - line 2.
71*de8cc8edSafresh1########
72f3efcd01Safresh1# NAME ${^RE_COMPILE_RECURSION_LIMIT} [perl #131551]
73f3efcd01Safresh1BEGIN { ${^RE_COMPILE_RECURSION_LIMIT} = ${^RE_COMPILE_RECURSION_LIMIT} = 2; }
74f3efcd01Safresh1qr/(a)/;
75f3efcd01Safresh1qr/((a))/;
76f3efcd01Safresh1EXPECT
77f3efcd01Safresh1Too many nested open parens in regex; marked by <-- HERE in m/(( <-- HERE a))/ at - line 3.
78f3efcd01Safresh1########
79*de8cc8edSafresh1# NAME \K not permitted in lookahead
80*de8cc8edSafresh1qr/(?=a\Ka)a/;
81*de8cc8edSafresh1EXPECT
82*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=a\K <-- HERE a)a/ at - line 1.
83*de8cc8edSafresh1########
84*de8cc8edSafresh1# NAME \K not permitted in lookahead (alpha)
85*de8cc8edSafresh1no warnings 'experimental::alpha_assertions';
86*de8cc8edSafresh1qr/(*positive_lookahead:a\Ka)a/;
87*de8cc8edSafresh1EXPECT
88*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*positive_lookahead:a\K <-- HERE a)a/ at - line 2.
89*de8cc8edSafresh1########
90*de8cc8edSafresh1# NAME \K not permitted in negative lookahead
91*de8cc8edSafresh1qr/(?!a\Ka)a/;
92*de8cc8edSafresh1EXPECT
93*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?!a\K <-- HERE a)a/ at - line 1.
94*de8cc8edSafresh1########
95*de8cc8edSafresh1# NAME \K not permitted in negative lookahead (alpha)
96*de8cc8edSafresh1no warnings 'experimental::alpha_assertions';
97*de8cc8edSafresh1qr/(*negative_lookahead:a\Ka)a/;
98*de8cc8edSafresh1EXPECT
99*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*negative_lookahead:a\K <-- HERE a)a/ at - line 2.
100*de8cc8edSafresh1########
101*de8cc8edSafresh1# NAME \K not permitted in lookbehind
102*de8cc8edSafresh1qr/(?<=a\Ka)a/;
103*de8cc8edSafresh1EXPECT
104*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<=a\K <-- HERE a)a/ at - line 1.
105*de8cc8edSafresh1########
106*de8cc8edSafresh1# NAME \K not permitted in lookbehind (alpha)
107*de8cc8edSafresh1no warnings 'experimental::alpha_assertions';
108*de8cc8edSafresh1qr/(*positive_lookbehind:a\Ka)a/;
109*de8cc8edSafresh1EXPECT
110*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*positive_lookbehind:a\K <-- HERE a)a/ at - line 2.
111*de8cc8edSafresh1########
112*de8cc8edSafresh1# NAME \K not permitted in negative lookbehind
113*de8cc8edSafresh1qr/(?<!a\Ka)a/;
114*de8cc8edSafresh1EXPECT
115*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<!a\K <-- HERE a)a/ at - line 1.
116*de8cc8edSafresh1########
117*de8cc8edSafresh1# NAME \K not permitted in negative lookbehind (alpha)
118*de8cc8edSafresh1no warnings 'experimental::alpha_assertions';
119*de8cc8edSafresh1qr/(*negative_lookbehind:a\Ka)a/;
120*de8cc8edSafresh1EXPECT
121*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(*negative_lookbehind:a\K <-- HERE a)a/ at - line 2.
122*de8cc8edSafresh1########
123*de8cc8edSafresh1# NAME \K nesting in lookahead after lookahead
124*de8cc8edSafresh1qr{(?=(?=x)x\K)x};
125*de8cc8edSafresh1EXPECT
126*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?=x)x\K <-- HERE )x/ at - line 1.
127*de8cc8edSafresh1########
128*de8cc8edSafresh1# NAME \K nesting in lookahead after negative lookahead
129*de8cc8edSafresh1qr{(?=(?!y)x\K)x};
130*de8cc8edSafresh1EXPECT
131*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?!y)x\K <-- HERE )x/ at - line 1.
132*de8cc8edSafresh1########
133*de8cc8edSafresh1# NAME \K nesting in lookahead in negative lookahead
134*de8cc8edSafresh1qr{(?=(?!y\K)x)x};
135*de8cc8edSafresh1EXPECT
136*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?!y\K <-- HERE )x)x/ at - line 1.
137*de8cc8edSafresh1########
138*de8cc8edSafresh1# NAME \K nesting in lookahead in lookahead
139*de8cc8edSafresh1qr{(?=(?=x\K)x)x};
140*de8cc8edSafresh1EXPECT
141*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?=x\K <-- HERE )x)x/ at - line 1.
142*de8cc8edSafresh1########
143*de8cc8edSafresh1# NAME \K nesting in lookbehind after lookbehind
144*de8cc8edSafresh1qr{(?<=(?<=x)x\K)x};
145*de8cc8edSafresh1EXPECT
146*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<=(?<=x)x\K <-- HERE )x/ at - line 1.
147*de8cc8edSafresh1########
148*de8cc8edSafresh1# NAME \K nesting in lookahead after lookbehind
149*de8cc8edSafresh1qr{(?=(?<=x)x\K)x};
150*de8cc8edSafresh1EXPECT
151*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?=(?<=x)x\K <-- HERE )x/ at - line 1.
152*de8cc8edSafresh1########
153*de8cc8edSafresh1# NAME \K nesting in lookbehind after lookahead
154*de8cc8edSafresh1qr{(?<=(?=x)x\K)x};
155*de8cc8edSafresh1EXPECT
156*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<=(?=x)x\K <-- HERE )x/ at - line 1.
157*de8cc8edSafresh1########
158*de8cc8edSafresh1# NAME \K nesting in negative lookbehind after lookahead
159*de8cc8edSafresh1qr{(?<!(?=x)x\K)x};
160*de8cc8edSafresh1EXPECT
161*de8cc8edSafresh1\K not permitted in lookahead/lookbehind in regex; marked by <-- HERE in m/(?<!(?=x)x\K <-- HERE )x/ at - line 1.
162*de8cc8edSafresh1########
163*de8cc8edSafresh1# NAME \K is permitted after the lookahead GH#18123
164*de8cc8edSafresh1qr/(?=(?=x)x)\K/;
165*de8cc8edSafresh1qr/(?!(?=x)x)\K/;
166*de8cc8edSafresh1qr/(?=(?!x)x)\K/;
167*de8cc8edSafresh1qr/(?!(?!x)x)\K/;
168*de8cc8edSafresh1qr/(?<=(?=x)x)\K/;
169*de8cc8edSafresh1qr/(?<!(?=x)x)\K/;
170*de8cc8edSafresh1qr/(?<=(?!x)x)\K/;
171*de8cc8edSafresh1qr/(?<!(?!x)x)\K/;
172*de8cc8edSafresh1qr/(?=(?<=x)x)\K/;
173*de8cc8edSafresh1qr/(?!(?<=x)x)\K/;
174*de8cc8edSafresh1qr/(?=(?<!x)x)\K/;
175*de8cc8edSafresh1qr/(?!(?<!x)x)\K/;
176*de8cc8edSafresh1qr/(?<=(?<=x)x)\K/;
177*de8cc8edSafresh1qr/(?<!(?<=x)x)\K/;
178*de8cc8edSafresh1qr/(?<=(?<!x)x)\K/;
179*de8cc8edSafresh1qr/(?<!(?<!x)x)\K/;
180*de8cc8edSafresh1EXPECT
181*de8cc8edSafresh1OPTIONS nonfatal
182