https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104022

            Bug ID: 104022
           Summary: g++.dg/gcov/pr16855.C does not precleanup upon
                    failures
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: testsuite
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rimvydas.jas at gmail dot com
  Target Milestone: ---

Created attachment 52186
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52186&action=edit
xfails

Testsuite on x86_64-*-dragonfly gives:

$ gmake check-gcc-c++ -k RUNTESTFLAGS="gcov.exp=pr16855*"
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 14: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 21: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 22: is #####:should be
1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 35: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 41: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 46: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 51: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 56: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 61: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 66: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 71: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  line 76: is 5:should be 1
FAIL: g++.dg/gcov/pr16855-priority.C  -std=gnu++98  gcov: 12 failures in line
counts, 0 in branch percentages, 0 in return percentages, 0 in intermediate
format
[SNIP]
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++98  line 15: is 5:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++98  line 22: is 5:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++98  line 24: is #####:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++98  line 38: is 5:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++98  line 44: is 5:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++98  line 49: is 5:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++98  gcov: 6 failures in line counts, 0
in branch percentages, 0 in return percentages, 0 in intermediate format
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++14  line 15: is 6:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++14  line 22: is 6:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++14  line 24: is #####:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++14  line 38: is 6:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++14  line 44: is 6:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++14  line 49: is 6:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++14  gcov: 6 failures in line counts, 0
in branch percentages, 0 in return percentages, 0 in intermediate format
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++17  line 15: is 7:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++17  line 22: is 7:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++17  line 24: is #####:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++17  line 38: is 7:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++17  line 44: is 7:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++17  line 49: is 7:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++17  gcov: 6 failures in line counts, 0
in branch percentages, 0 in return percentages, 0 in intermediate format
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++2a  line 15: is 8:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++2a  line 22: is 8:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++2a  line 24: is #####:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++2a  line 38: is 8:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++2a  line 44: is 8:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++2a  line 49: is 8:should be 1
FAIL: g++.dg/gcov/pr16855.C  -std=gnu++2a  gcov: 6 failures in line counts, 0
in branch percentages, 0 in return percentages, 0 in intermediate format

                === g++ Summary ===

# of expected passes            24
# of unexpected failures        80
/build/trunk/gcc/xg++  version 12.0.0 20220114 (experimental)
[remotes/origin/master -gb31cec9c22b] (GCC)

Line counts are incrementing with every check command invoke. Adding missing
xfails avoids the issue.
$ gmake check-gcc-c++ -k RUNTESTFLAGS="gcov.exp=pr16855*"
                === g++ Summary ===

# of expected passes            88
# of expected failures          16

The "line 24: is #####:should be 1" is a known issue on DragonFly BSD, the
dynamic linker on dso stops profiling before destructor is executed.
Alternatively adding "/* { dg-additional-options "-static" { target
*-*-dragonfly* } } */" directives to both tests allows them to pass fully.
# of expected passes            104

Reply via email to