On 8/28/25 8:09 AM, Richard Earnshaw (lists) wrote:
On 28/08/2025 15:01, Iain Sandoe wrote:


On 28 Aug 2025, at 14:36, Jeff Law via Gcc <gcc@gcc.gnu.org> wrote:



On 8/28/25 5:42 AM, Richard Biener via Gcc wrote:
On Thu, Aug 28, 2025 at 1:12 PM Rainer Orth via Gcc <gcc@gcc.gnu.org> wrote:

Hi Sam,

When a test fails with 'excess errors', there's often only one actual
error (an excess "(error|warning|note):") and it'd be nice to not have
to dig in the .log files to fish that out.

I think such a move would be a bad mistake.  Consider ICEs where you
have something like

FAIL: gcc.c-torture/compile/pr35318.c   -O0  (test for excess errors)
Excess errors:
/vol/gcc/src/hg/master/local/gcc/testsuite/gcc.c-torture/compile/pr35318.c:9:1: 
error: unrecognizable insn:
(insn 13 25 26 2 (parallel [
             (set (reg:DF 10 %o2 [orig:112 x ] [112])
                 (asm_operands/v:DF ("") ("=r,r") 0 [
                         (reg:SI 11 %o3 [orig:112 x+4 ] [112])
                         (mem/c:DF (plus:SI (reg/f:SI 30 %fp)
                                 (const_int -24 [0xffffffffffffffe8])) [3 
%sfp+-24 S8 A64])
[and many more lines...]

This would clutter the output beyond recognition, especially if this is
a torture test which is run at several optimization options.

Excess errors, like all others, always require further investigation.
In my experience, digging the full error messages from the .log files is
usually the smallest part of that.  You often even have to rerun the
compilation manually to also get the parts that are filtered out by the
prune procs.
I find the classification this would provide useful, like I like the
(internal compiler error) classification we already have.  I would
of course not duplicate all of th eabove message but only
'(unrecognizable insn)' in the above case.
It's not the only consideration, but keep in mind that such output is not 
stable and will cause some headaches with scripting that compares two summary 
files.

This is something that I think we want to tackle anyway ..

Even with the bit of instability to the line number in the ICE message, I do 
find the ICE classification useful as well.

… the classification is useful, but the false positive “new fail / old fail 
went away” pairs are a real nuiscance .. hopefully we can have some 
brainstorming @cauldron about ways to deal with this (e.g. fuzzy matching or 
some smart way to discard the twinkling line numbers).


Well really, the compare-tests script should report duplicate results as a 
problem as well, since

PASS: abcd
...
PASS: abcd

is just a dup pass/fail waiting to happen.
Yup. A duplicate testname should be reported. These cause major headaches if one passes, but the other fails -- it looks like a regression to the comparison scripting we have.

Getting to the point where every test has a unique name would be good on many levels. I can't help but think back to QMTest which tried to solve the enumeration problem along with others. I wasn't too supportive at the time, but in retrospect, that was probably a mistake.

jeff

Reply via email to