http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24985
--- Comment #23 from Jason Merrill <jason at gcc dot gnu.org> 2012-04-05 17:00:59 UTC --- (In reply to comment #22) > * DejaGNU trims leading whitespace before passing the text to prune. So it does. Bizarre. set comp_output [string trimleft $comp_output] I guess we can just remove the initial space from that prune pattern. > The problem is that the default regexp of DejaGNU is: > > "(^|\n)(\[^\n\]+$line\[^\n\]*($pattern)\[^\n\]*\n?)+" > > the "+" at the end means that it matches as many lines as possible. Yes, but only lines that match the line number followed by the pattern; the source line shouldn't have its own line number before the pattern. However, if an expected error contains .*, it will typically match both the error message and the source line, so any .* in testcases would need to change to \[^\n\].