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