Hi, Jason Merrill writes: >> + # Newlines should be more tolerant. >> + s/\n$/(\\n|\\r\\n|\\r)*/; > > Isn't specifically handling \\r\\n redundant with the * operator? To the extent of my knowledge, yes; I left that in since the original tests I was replacing with this script also used this terminator: -// { dg-output "default std::handle_contract_violation called: .*.C 21 test::fun .*(\n|\r\n|\r)*" } +// { dg-output {contract violation in function test::fun at .*:21: b > 0(\n|\r\n|\r)*} } +// { dg-output {\[continue:on\](\n|\r\n|\r)*} } That could easily use the simpler [\r\n]* form too: % regexp {^[\r\n]*$} "\r\n\n\n" 1 Feel free to swap that in too. Thanks, have a great night. -- Arsen Arsenović