Ping...
> From: Hans-Peter Nilsson <h...@axis.com> > Date: Fri, 24 Feb 2023 20:16:03 +0100 > > Ok to commit? > -- >8 -- > Those multi-line-patterns are literal. Sometimes a regexp > needs to be matched. This is a start: just three elements > are supported: "(" ")" and the compound ")?" (and on second > thought, it can be argued that "(...)" alone is not useful). > Note that Tcl "string map" is documented to have the desired > effect: a once-over but no re-recognitions of previously > replaced mapped elements. Also, drop a doubled "containing". > > testsuite: > * lib/multiline.exp (_build_multiline_regex): Map > "{re:" to "(", ":re}" to ")" and ":re?}" to ")?". > --- > gcc/testsuite/lib/multiline.exp | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/gcc/testsuite/lib/multiline.exp b/gcc/testsuite/lib/multiline.exp > index 5eccf2bbebc1..f746bc3a618e 100644 > --- a/gcc/testsuite/lib/multiline.exp > +++ b/gcc/testsuite/lib/multiline.exp > @@ -297,7 +297,7 @@ proc _get_lines { filename first_line last_line } { > > # Convert $multiline from a list of strings to a multiline regex > # We need to support matching arbitrary followup text on each line, > -# to deal with comments containing containing DejaGnu directives. > +# to deal with comments containing DejaGnu directives. > > proc _build_multiline_regex { multiline index } { > verbose "_build_multiline_regex: $multiline $index" 4 > @@ -307,7 +307,10 @@ proc _build_multiline_regex { multiline index } { > verbose " line: $line" 4 > > # We need to escape "^" and other regexp metacharacters. > - set line [string map {"^" "\\^" > + set line [string map {"\{re:" "(" > + ":re?\}" ")?" > + ":re\}" ")" > + "^" "\\^" > "(" "\\(" > ")" "\\)" > "[" "\\[" > -- > 2.30.2 >