-
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Right now, our Docker file uses gcc/g++ 7.4 while our CI system uses version 8.3.
When it comes to compilation, this doesn't seem to make any difference, but when it comes to gcov, version 7.4 seems to be buggy and we would benefit from upgrading to version 8.3.
Indeed, my work on code generation relies on having a forward declaration of a structure:
...
struct GeneratorEquationAstImpl;
using GeneratorEquationAstImplPtr = std::shared_ptr<GeneratorEquationAstImpl>;
struct GeneratorEquationAstImpl
{
...
};
...
and gcov 7.4 report that the second struct GeneratorEquationAstImpl is not covered:
------------------------------------------------------------------------------
GCC Code Coverage Report
Directory: /external/drive/src
------------------------------------------------------------------------------
File Lines Exec Cover Missing
------------------------------------------------------------------------------
component.cpp 127 127 100%
componententity.cpp 138 138 100%
entity.cpp 52 52 100%
error.cpp 136 136 100%
generator.cpp 1155 1154 99% 116
generatorprofile.cpp 381 381 100%
importedentity.cpp 36 36 100%
importsource.cpp 37 37 100%
logger.cpp 34 34 100%
model.cpp 157 157 100%
namedentity.cpp 28 28 100%
orderedentity.cpp 36 36 100%
parser.cpp 837 837 100%
printer.cpp 338 338 100%
reset.cpp 76 76 100%
units.cpp 140 140 100%
utilities.cpp 73 73 100%
utilities.h 10 10 100%
validator.cpp 564 564 100%
variable.cpp 178 178 100%
version.cpp 5 5 100%
when.cpp 34 34 100%
xmlattribute.cpp 48 48 100%
xmldoc.cpp 50 50 100%
xmlnode.cpp 86 86 100%
------------------------------------------------------------------------------
TOTAL 4756 4755 100%
------------------------------------------------------------------------------
while it's all fine using version 8.3:
------------------------------------------------------------------------------
GCC Code Coverage Report
Directory: /home/libcellml/bbslave/Coverage_Tests_Builder_Ubuntu_18_04_64_Bit/libcellml/src
------------------------------------------------------------------------------
File Lines Exec Cover Missing
------------------------------------------------------------------------------
component.cpp 126 126 100%
componententity.cpp 137 137 100%
entity.cpp 51 51 100%
error.cpp 132 132 100%
generator.cpp 1156 1156 100%
generatorprofile.cpp 379 379 100%
importedentity.cpp 35 35 100%
importsource.cpp 36 36 100%
logger.cpp 33 33 100%
model.cpp 156 156 100%
namedentity.cpp 27 27 100%
orderedentity.cpp 36 36 100%
parser.cpp 836 836 100%
printer.cpp 336 336 100%
reset.cpp 75 75 100%
units.cpp 133 133 100%
utilities.cpp 72 72 100%
validator.cpp 564 564 100%
variable.cpp 174 174 100%
version.cpp 4 4 100%
when.cpp 33 33 100%
xmlattribute.cpp 48 48 100%
xmldoc.cpp 48 48 100%
xmlnode.cpp 86 86 100%
------------------------------------------------------------------------------
TOTAL 4713 4713 100%
------------------------------------------------------------------------------
Metadata
Metadata
Assignees
Labels
No labels