Hi, scan-assembler-times and scan-tree-dump-times dejagnu directives show a different output in the summary files depending on whether they PASS or FAIL. This means that dg-cmp-results would not show a regression because it would not see a connection between the two output.
The difference comes from the FAIL showing the number of actual times the pattern was match, presumably to help debugging. This patch moves the info regarding the actual number of times the pattern match in a separate verbose message. This keeps the message unchanged but let developers have the required debug message with -v. ChangeLog entry is as follows: *** gcc/testsuite/ChangeLog *** 2018-03-13 Thomas Preud'homme <thomas.preudho...@arm.com> * lib/scanasm.exp (scan-assembler-times): Move FAIL debug info into a separate verbose message. * lib/scandump.exp (scan-dump-times): Likewise. Testing: Made a modified version of gcc.dg/nand.c and gcc.dg/torture/pr61772.c to FAIL their scan-assembler-times and scan-tree-dump-times respective directives. Without the patch dg-cmp-results does not flag any regression but does with the patch. Is this ok for stage 4? Best regards, Thomas
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp index 3a775b0a812775193cf1181337a5b890cde74133..61e0f3f48aeea5785689c5df7a15dc2ccbc71029 100644 --- a/gcc/testsuite/lib/scanasm.exp +++ b/gcc/testsuite/lib/scanasm.exp @@ -266,7 +266,8 @@ proc scan-assembler-times { args } { if {$result_count == $times} { pass "$testcase scan-assembler-times $pp_pattern $times" } else { - fail "$testcase scan-assembler-times $pp_pattern $times (found $result_count times)" + verbose -log "$testcase: $pp_pattern found $result_count times" + fail "$testcase scan-assembler-times $pp_pattern $times" } } diff --git a/gcc/testsuite/lib/scandump.exp b/gcc/testsuite/lib/scandump.exp index 4e3da972ae4ed09c9874eb384daf825e6e2dcde3..be8fbe8b461dc81d5683fe323c0913f678daa1e0 100644 --- a/gcc/testsuite/lib/scandump.exp +++ b/gcc/testsuite/lib/scandump.exp @@ -110,7 +110,8 @@ proc scan-dump-times { args } { if {$result_count == $times} { pass "$testname" } else { - fail "$testname (found $result_count times)" + verbose -log "$testcase: pattern found $result_count times" + fail "$testname" } }