GCC 6 7 vnl_test_math isinf failure

dashboard

(Bradley Lowekamp) #1

There is the following test failure on several builds:

Test 185:  isinf(ninf_d)                                        --> **FAILED**

I have traced this down to std::isinf returning “-1”, the C++11 standard specifies a “bool” return type. And the decltype of the result is an “int”.

It is also important to not the C99 specification of isinf returns an integral value. I suspect the c++ standard library has mixes these up.


(Bradley Lowekamp) #2

Here is the VXL pull request to address the issue:
https://github.com/vxl/vxl/pull/457


(Dženan Zukić) #3

Thanks for fixing this. Notifications of failing nightly builds whenever I commit or merge something were quite annoying!


(Bradley Lowekamp) #4

@hjmjohnson Has this error come back to the dashboard today?
https://open.cdash.org/testDetails.php?test=703697931&build=5619209


(Dženan Zukić) #5

It came back a few days ago.


(Bradley Lowekamp) #6

Here is where the addition was removed:
https://open.cdash.org/testDetails.php?test=703697931&build=5619209

Perhaps there is a reason for the removal @hjmjohnson? Clearly we are dealing with nonconformance to C++11 with the compilers not returning bool.


(Hans Johnson) #7

This was an oversight as I took a machete to the VXL code over the past few weeks. I incorrectly assumed that C++11 compilance was achieved for those functions.

I have restored the behavior and added a new set of tests in https://github.com/vxl/vxl/pull/539

Assuming it passes all tests, I’ll merge in about 45 minutes.