Description:
With optimization enabled, gcc 4.8 inserts garbage into the padding bytes of
floating point types when assigning from a literal constant. This caused
problems when H5detect.c scanned the bits in floating point types to determine
their properties.
Modified H5detect.c to scan for padding before further analyzing the type, and
to ignore all information in the padding areas. Also removed code that
temporarily disabled optimization.
Tested: jam, koala, ostrich, platypus (h5committest)
Clean up warnings, enable new compiler warning flag(s) and bring back
changes from Coverity branch:
r20813:
Remove the dead code as listed for coverity bug #1722. h5committested.
r20814:
Issue 69: Check return value and throw error if negative return. Also free datatype id on error
r20815:
Use HDstrncpy. --gh
r20816:
Replaced one last HDstrcat call with HDstrncat to resolve coverity issue 832.
r20817:
Use HDstrncpy and HDstrncat. --gh
r20818:
Purpose: Fix valgrind issues with h5jam
Description:
Modified h5jam to free strings strdup'd in parse_command_line before exit. Note
that they may still not be freed in case of error, due to the widespread use of
exit().
r20819:
Issue 80: change loop to use int as loop index.
r20820:
Maintenance: Fixed the bug found by coverity CID 788
There were two problems with this function:
1) it tried to unnecessary free NULL pointer
2) it tried to allocate c_name buffer that is done by H5Pget_class_name
Tested on:
Mac OSX 10.8.4 (amazon) w/gcc 4.8.1, C++ & FORTRAN
(too minor to require h5committest)
problem in H5detect.c (uninitialized buffer) and provided the solution. I checked it in yesterday. But it
turned out to be a false fix. So I'm back it out.
Tested on jam - reverse of changes.
problem in H5detect.c (uninitialized buffer) and provided the solution. Allen and I verified it.
Tested with h5committest and CMake on jam, koala, ostrich, playtus, and Allen's virtual machine.
The new gcc v4.8.* compilers does not work well with dt_arith which failed
in production mode.
Solution:
A temporary patch by removing any optimization (-O*) from the PROD_CFLAGS
so that dt_arith will pass for now. A more through investigation is needed.
Tested: Jam and Koala where it failed and now passes.