  regcomp.c	These tests have been moved to t/re/reg_mesg.t
		except for those that explicitly test line numbers
                and those that don't have a <-- HERE in them, and those that
                die plus have warnings, or otherwise require special handling

__END__
use warnings 'regexp';
$r=qr/(??{ q"\\b+" })/;
"a" =~ /a$r/; # warning should come from this line
EXPECT
\b+ matches null string many times in regex; marked by <-- HERE in m/\b+ <-- HERE / at - line 3.
########
# regcomp.c
use warnings 'digit' ;
my $a = qr/\o{1238456}\x{100}/;
my $a = qr/[\o{6548321}]\x{100}/;
no warnings 'digit' ;
my $a = qr/\o{1238456}\x{100}/;
my $a = qr/[\o{6548321}]\x{100}/;
EXPECT
Non-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.
Non-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.
########
# regcomp.c
BEGIN {
    if (ord('A') == 193) {
        print "SKIPPED\n# Different results on EBCDIC";
        exit 0;
    }
}
use warnings;
$a = qr/\c,/;
$a = qr/[\c,]/;
no warnings 'syntax';
$a = qr/\c,/;
$a = qr/[\c,]/;
EXPECT
"\c," is more clearly written simply as "l" in regex; marked by <-- HERE in m/\c, <-- HERE / at - line 9.
"\c," is more clearly written simply as "l" in regex; marked by <-- HERE in m/[\c, <-- HERE ]/ at - line 10.
########
# This is because currently a different error is output under
# use re 'strict', so can't go in reg_mesg.t
# NAME perl #126261, error message causes segfault
# OPTION fatal
 qr/abc[\x{df}[.00./i
EXPECT
Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE \x{df}[.00./ at - line 4.
########
# NAME perl #126261, with 'use utf8'
# OPTION fatal
use utf8;
no warnings 'utf8';
qr/abc[ﬁ[.00./i;
EXPECT
Unmatched [ in regex; marked by <-- HERE in m/abc[ <-- HERE ﬁ[.00./ at - line 4.
########
# NAME perl qr/(?[[[:word]]])/ XXX Why is 'syntax' lc?
# OPTION fatal
use warnings;
qr/(?[[[:word]]])/;
EXPECT
Assuming NOT a POSIX class since there is no terminating ':' in regex; marked by <-- HERE in m/(?[[[:word <-- HERE ]]])/ at - line 3.
Unexpected ']' with no following ')' in (?[... in regex; marked by <-- HERE in m/(?[[[:word]] <-- HERE ])/ at - line 3.
########
# NAME qr/(?[ [[:digit: ])/
# OPTION fatal
use warnings;
qr/(?[[[:digit: ])/;
EXPECT
Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[[:digit: ] <-- HERE )/ at - line 3.
syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[[:digit: ]) <-- HERE / at - line 3.
########
# NAME qr/(?[ [:digit: ])/
# OPTION fatal
use warnings;
qr/(?[[:digit: ])/
EXPECT
Assuming NOT a POSIX class since no blanks are allowed in one in regex; marked by <-- HERE in m/(?[[:digit: ] <-- HERE )/ at - line 3.
syntax error in (?[...]) in regex; marked by <-- HERE in m/(?[[:digit: ]) <-- HERE / at - line 3.
########
# NAME [perl #126141]
# OPTION fatal
eval {/$_/}, print "$_ ==> ", $@ || "OK!\n" for "]]]]]]]]][\\", "]]]]][\\"
EXPECT
]]]]]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]]]]]][\ <-- HERE / at - line 2.
]]]]][\ ==> Unmatched [ in regex; marked by <-- HERE in m/]]]]][\ <-- HERE / at - line 2.
########
# NAME [perl #123417]
# OPTION fatal
qr/[\N{}]/;
EXPECT
Unknown charname '' at - line 2, within pattern
########
# NAME [perl #123417]
# OPTION fatal
qr/\N{}/;
EXPECT
Unknown charname '' at - line 2, within pattern
########
# NAME [perl #131868]
use warnings;
my $qr = qr {
    (?(DEFINE)
      (?<digit>   [0-9])
      (?<digits>  (?&digit){4})
    )
    ^(?&digits)$
}x;
EXPECT
########
# NAME Warn on 32-bit code points
# SKIP ? $Config{uvsize} < 8
use warnings 'portable';
qr/\x{8000_0000}/;
qr/[\x{8000_0000}]/;
qr/\o{20_000_000_000}/;
qr/[\o{20_000_000_000}]/;
EXPECT
Code 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.
Code 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.
Code 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.
Code 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.
########
# NAME [GH #24209] Enhanced /xx: Two '#' on same line
use warnings;
use feature 'enhanced_xx';

my @a = (0, 1, 2);
my $i = 0;
$a[$i] =~ qr/ [ a-z         # We need to match the lowercase alphabetics
                ! @ # . *   # And certain punctuation
                0-9         # And the digits (which can only occur in $a[0])
              ]
            /xx;
$a[$i] =~ qr/ a-z         # Unquoted '#' in a comment warns
            /xx;
no warnings 'experimental::enhanced_xx';
$a[$i] =~ qr/ a-z         # Unquoted "#" in a comment warns
            /xx;
$a[$i] =~ qr/ a-z         # Unescaped "#" in a comment warns
            /xx;
EXPECT
enhanced_xx is experimental at - line 6.
enhanced_xx is experimental at - line 11.
Did you mean to have a second '#' in your comment?
If so, escape with '\' or quote with " or ' to silence this message
 in regex; marked by <-- HERE in m/ [ a-z         # We need to match the lowercase alphabetics
                ! @ # . *   # <-- HERE  And certain punctuation
                0-9         # And the digits (which can only occur in 0)
              ]
            / at - line 6.
########
# NAME [GH #24209] Enhanced /xx: Class terminator in comment
use warnings;
use feature 'enhanced_xx';

my @a = (0, 1, 2);
my $i = 0;

no warnings 'experimental::enhanced_xx';
$a[$i] =~ s/ [ a-z  # . * ]
             [ A-Z ]
           //xx;
$a[$i] =~ s/ [ a-z  # . * \]
             [ A-Z ]
           //xx;
EXPECT
Did you mean to have a ']' in your comment?
If so, escape with '\' or quote with " or ' to silence this message
 in regex; marked by <-- HERE in m/ [ a-z  # . * ] <-- HERE 
             [ A-Z ]
           / at - line 10.
########
# NAME [GH #24209] Enhanced /xx: '#' without surrounding spaces
use warnings;
use feature 'enhanced_xx';

my @a = (0, 1, 2);
my $i = 0;
$a[$i] =~ m/ ab#c /xx;
$a[$i] =~ m/ ab\#c /xx;
EXPECT
enhanced_xx is experimental at - line 6.
Did you mean this to be a comment?
If so, to silence this message add blanks like so: " # "
 in regex; marked by <-- HERE in m/ ab# <-- HERE c / at - line 6.
enhanced_xx is experimental at - line 7.
