When debugging a failing test, I typically invoke DejaGnu at verbosity level 2 (via RUNTESTFLAGS="-v -v dg.exp=something"), so that DejaGnu prints the command line used to invoke the compiler; specifically these two sites: target.exp "Invoking the compiler as " remote.exp "Executing on $hostname" which are both verbosity level 2.
Unfortunately I run into an O(n^2) issue with logging from process-message: verbose "process-message:\n${dg-messages}" 2 where, as each message each processed, it emits the state of dg-messages, containing the new message and all messages so far, leading to exponentially-increasing output at level 2 as more test messages are added. This patch papers over the problem by moving the problematic message to verbosity level 3. Successfully regrtested on x86_64-pc-linux-gnu. OK for trunk? gcc/testsuite/ChangeLog: * lib/gcc-dg.exp (process-message): Change verbosity level of "verbose" from 2 to 3. (dg-locus): Likewise. --- gcc/testsuite/lib/gcc-dg.exp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index 305dd3c..054d884 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -1165,7 +1165,7 @@ proc process-message { msgproc msgprefix dgargs } { set newentry [lreplace $newentry 2 2 $expmsg] set dg-messages [lreplace ${dg-messages} end end $newentry] - verbose "process-message:\n${dg-messages}" 2 + verbose "process-message:\n${dg-messages}" 3 } # Look for messages that don't have standard prefixes. @@ -1199,7 +1199,7 @@ proc dg-locus { args } { set newentry [lreplace $newentry 2 2 $expmsg] set dg-messages [lreplace ${dg-messages} end end $newentry] - verbose "process-message:\n${dg-messages}" 2 + verbose "process-message:\n${dg-messages}" 3 } # Handle output from -fopt-info for MSG_OPTIMIZED_LOCATIONS: -- 1.8.5.3