Actions
Bug #1092
closedUnit test failures on Debian i386 with GCC 13
Start date:
2023-11-27
Due date:
% Done:
100%
Estimated time:
Module:
ofstd
Operating System:
Compiler:
Description
The Debian team has changed the default behavior for ieee double float (excess precision=standard) for the i386 platform when using GCC 13.
This leads to a number of failures of DCMTK's unit tests:
This leads to a number of failures of DCMTK's unit tests:
- ofstd_OFTime
- ofstd_variant
- dcmdata_decimalString_1
- dcmdata_decimalString_2
- dcmdata_decimalString_3
- dcmdata_floatingPointDouble
- dcmfg_ct_acquisition_type
Some examples of failed test cases:
- FAILED test 'dcmdata_decimalString_1' at ./dcmdata/tests/tvrds.cc:41: (-4.99) should equal (-4.99)
- FAILED test 'dcmdata_decimalString_1' at ./dcmdata/tests/tvrds.cc:42: (500.005) should equal (500.005)
- FAILED test 'dcmdata_decimalString_1' at ./dcmdata/tests/tvrds.cc:43: (0.666) should equal (0.666)
All test failures essentially boil down to this: OFStandard::atof("-4.99") != -4.99, for given pairs of string and double.
It is most likely related to the changed handling of floating point numbers caused by -fexcess-precision=standard
, which is only supported for C++ code starting with GCC 13.
Updated by Jörg Riesmeier about 1 year ago
- Status changed from New to Closed
- Assignee set to Marco Eichelberg
- % Done changed from 0 to 100
- Module set to ofstd
Closed with commit ecbf61cb7.
Actions