xref: /openbsd/gnu/usr.bin/perl/t/lib/warnings/regcomp (revision eac174f2)
1  regcomp.c	These tests have been moved to t/re/reg_mesg.t
2		except for those that explicitly test line numbers
3                and those that don't have a <-- HERE in them, and those that
4                die plus have warnings, or otherwise require special handling
5
6__END__
7use warnings 'regexp';
8$r=qr/(??{ q"\\b+" })/;
9"a" =~ /a$r/; # warning should come from this line
10EXPECT
11\b+ matches null string many times in regex; marked by <-- HERE in m/\b+ <-- HERE / at - line 3.
12########
13# regcomp.c
14use warnings 'digit' ;
15my $a = qr/\o{1238456}\x{100}/;
16my $a = qr/[\o{6548321}]\x{100}/;
17no warnings 'digit' ;
18my $a = qr/\o{1238456}\x{100}/;
19my $a = qr/[\o{6548321}]\x{100}/;
20EXPECT
21Non-octal character '8' terminates \o early.  Resolved as "\o{123}" in regex; marked by <-- HERE in m/\o{1238456} <-- HERE \x{100}/ at - line 3.
22Non-octal character '8' terminates \o early.  Resolved as "\o{654}" in regex; marked by <-- HERE in m/[\o{6548321} <-- HERE ]\x{100}/ at - line 4.
23########
24# regcomp.c
25BEGIN {
26    if (ord('A') == 193) {
27        print "SKIPPED\n# Different results on EBCDIC";
28        exit 0;
29    }
30}
31use warnings;
32$a = qr/\c,/;
33$a = qr/[\c,]/;
34no warnings 'syntax';
35$a = qr/\c,/;
36$a = qr/[\c,]/;
37EXPECT
38"\c," is more clearly written simply as "l" in regex; marked by <-- HERE in m/\c, <-- HERE / at - line 9.
39"\c," is more clearly written simply as "l" in regex; marked by <-- HERE in m/[\c, <-- HERE ]/ at - line 10.
40########
41# This is because currently a different error is output under
42# use re 'strict', so can't go in reg_mesg.t
43# NAME perl #126261, error message causes segfault
44# OPTION fatal
45 qr/abc[\x{df}[.00./i
46EXPECT
47Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE \x{df}[.00./ at - line 4.
48########
49# NAME perl #126261, with 'use utf8'
50# OPTION fatal
51use utf8;
52no warnings 'utf8';
53qr/abc[fi[.00./i;
54EXPECT
55Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE fi[.00./ at - line 4.
56########
57# NAME perl qr/(?[[[:word]]])/ XXX Why is 'syntax' lc?
58# OPTION fatal
59use warnings;
60qr/(?[[[:word]]])/;
61EXPECT
62Assuming NOT a POSIX class since there is no terminating ':' in regex; marked by <-- HERE in m/(?[[[:word <-- HERE ]]])/ at - line 3.
63Unexpected ']' with no following ')' in (?[... in regex; marked by <-- HERE in m/(?[[[:word]] <-- HERE ])/ at - line 3.
64########
65# NAME qr/(?[ [[:digit: ])/
66# OPTION fatal
67use warnings;
68qr/(?[[[:digit: ])/;
69EXPECT
70Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[[:digit: ] <-- HERE )/ at - line 3.
71syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[[:digit: ]) <-- HERE / at - line 3.
72########
73# NAME qr/(?[ [:digit: ])/
74# OPTION fatal
75use warnings;
76qr/(?[[:digit: ])/
77EXPECT
78Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[:digit: ] <-- HERE )/ at - line 3.
79syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[:digit: ]) <-- HERE / at - line 3.
80########
81# NAME [perl #126141]
82# OPTION fatal
83eval {/$_/}, print "$_ ==> ", $@ || "OK!\n" for "]]]]]]]]][\\", "]]]]][\\"
84EXPECT
85]]]]]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]]]]]][\ <-- HERE / at - line 2.
86]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2.
87########
88# NAME [perl #123417]
89# OPTION fatal
90qr/[\N{}]/;
91EXPECT
92Unknown charname '' at - line 2, within pattern
93Execution of - aborted due to compilation errors.
94########
95# NAME [perl #123417]
96# OPTION fatal
97qr/\N{}/;
98EXPECT
99Unknown charname '' at - line 2, within pattern
100Execution of - aborted due to compilation errors.
101########
102# NAME [perl #131868]
103use warnings;
104my $qr = qr {
105    (?(DEFINE)
106      (?<digit>   [0-9])
107      (?<digits>  (?&digit){4})
108    )
109    ^(?&digits)$
110}x;
111EXPECT
112########
113# NAME Warn on 32-bit code points
114# SKIP ? $Config{uvsize} < 8
115use warnings 'portable';
116qr/\x{8000_0000}/;
117qr/[\x{8000_0000}]/;
118qr/\o{20_000_000_000}/;
119qr/[\o{20_000_000_000}]/;
120EXPECT
121Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/\x{8000_0000} <-- HERE / at - line 2.
122Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/[\x{8000_0000} <-- HERE ]/ at - line 3.
123Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/\o{20_000_000_000} <-- HERE / at - line 4.
124Code point 0x80000000 is not Unicode, requires a Perl extension, and so is not portable in regex; marked by <-- HERE in m/[\o{20_000_000_000} <-- HERE ]/ at - line 5.
125