More warning cleanups, bringing the build down to 25 unique types of
warnings, with 550 warnings in 122 files (down from 28, 770, and 134).
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Clean up more warnings: drop the warning count from ~1310 down to ~940,
with only 31 types of warnings in 148 files (down from 38 types in 167 files).
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
More warning cleanups. This brings us down to ~1300 warnings in 167 files
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Clean up warnings (from 2774 -> 1560, with my standard debug build)
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring object/dataset/group/named datatype features from revise_chunks
branch to trunk. Also CMake support for h5format_convert and a bunch of
misc. cleanups.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring r29992 from revise_chunks branch to trunk:
Turn off error reporting for h5debug and hdf2gif.
Tested on:
MacOSX/64 10.11.5 (amazon) w/serial, parallel & produciton
(h5committest forthcoming)
Bring H5LD* routines from revise_chunks branch to trunk.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Bring H5DOappend(), H5P[s|g]et_object_flush_cb, and H5P[s|g]et_append_flush
from revise_chunks branch to trunk. Brings along updated metadata cache
entry tagging, and the internal object flush routine.
Tested on:
MacOSX/64 10.11.4 (amazon) w/serial, parallel & production
(h5committest forthcoming)
Description:
The constructor FL_PacketTable added in 1.10.0 did not have good
prototype; it didn't allow the property list to be default. Marked
it deprecated and added this one:
FL_PacketTable(hid_t fileID, const char* name, hid_t dtypeID,
hsize_t chunkSize = 0, hid_t plistID = H5P_DEFAULT)
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
The "warning: deprecated conversion from string constant to âchar*â
[-Wwrite-strings]" was already removed by adding const to char*
parameter in the FL_PacketTable. This change is to remove the use
of literal strings in code for maintainability.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
- Replaced "goto out" and "out:" with "goto error" and "error:" to indicate
the failure situations.
- Replaced old-style casts with static_cast to remove warnings.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Performed similar improvement as the C Packet Table library.
- Removed the VLPT_REMOVED ifdef around class VL_PacketTable
- Moved VL_PacketTable::IsVariableLength to PacketTable
- Moved VL_PacketTable::FreeReadBuff to PacketTable::FreeBuff
- Added overloaded constructor to FL_PacketTable that takes a
property list ID and call the new C API H5PTcreate.
- Added accessor wrappers to class PacketTable, per HDFFV-8623/patch 003.
/* Returns the ID of the dataset associated with the packet table */
hid_t GetDataset();
/* Returns the ID of the datatype the packet table uses */
hid_t GetDatatype();
- Replaced appropriate calls in tests
- Various cleanup
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
Added several tests for packet table that were missing from the
previous update.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
Description:
The Packet Table API used to have fixed-length and variable-length functions
(i.e., H5PTcreate_fl and H5PTcreate_vl), but in 2006, the vlen functions
were ifdef'ed out with VLPT_REMOVED, see HDFFV-442. The majority of this
revision includes removing unused vlen stuff, adding various vlen tests,
initial code cleanup, and first pass of commenting.
Details:
- Removed the VLPT_REMOVED ifdef, but keep H5PTis_varlen and the free
function because they are useful or even needed, but the free
function's name is changed to be more appropriate for both
read/write buffers, i.e., H5PTfree_vlen_buff.
- The new test file, test_packet_vlen.c, contains tests showing packet
tables, containing various types of vlen data, can be created with
the fixed-length function
- Two accessor functions were added per HDFFV-8623/patch 003.
/* Returns the ID of the dataset associated with the packet table */
hid_t H5PTget_dataset(hid_t table_id);
/* Returns the ID of the datatype the packet table uses */
hid_t H5PTget_type(hid_t table_id);
- Various cleanup: replacing 0/-1 with SUCCEED/FAIL and H5I_BADID with
H5I_INVALID_HID, and removing many warnings.
Platforms tested:
Linux/32 2.6 (jam)
Linux/64 (platypus)
Darwin (osx1010test)
This was giving a lot of users headaches and the parser code rarely
changes. There is now a new script (bin/genparser) which can be
run as needed.
Tested on: Ubuntu 15.10 (x86_64 Linux 4.2.0)
gcc 5.2.1, flex 2.5.39, bison 3.0.2
NOTES:
- Developers will have to run autogen.sh before building with the autotools.
- autogen.sh takes the -p option to mimic the old bin/reconfigure behavior.
- The generated error, overflow and version headers have been left in place.
- The generated H5LT parser code has also been left in place.
- There are no changes for CMake users at this time.
Tested on: h5committest
Tested w/ h5committest
NOTES: - The manifest may still be messed up.
- Cmake fails since the dual binary work needs to be merged with
this repo's CMake externals.
The error is that $EXAMPLETOPDIR is used without setting a value first.
Solution is to set them with the proper values.
Tested: jam only to confirm the error no longer exists.
configure.ac
hl/src/H5LTparse.c
hl/src/H5LTparse.h
Address HDFFV-9010: configure issue with gcc 4.9.2 "-l ".
Change default to disable_shared on CYGWIN.
release_docs/INSTALL_Cygwin.txt
release_docs/RELEASE.txt
Update for changed default and no CYGWIN szip binary.
c++/src/cpp_doc_config
bin/h5vers
AddressHDFFV-9010: Add cpp_doc_config to h5vers
Tested with h5committest, on CYGWIN.
Description: h52gif crashed when it was asked to convert a 24bitimage.
Upon viewing the code, it did not prepare to handle images other than 2 dimensions.
It has no concept of multiple planes images. Further examinations showed past attempts
to fix it ended up removed some abilities (-p or multiple planes, animation, ...) have
been removed but documentation was not updated. Even its online help message still
shows -p is an option.
Solution: added protection code to flag errors if input request is not an
8bit image within size limits. (I don't have enough knowledge of the GIF
format to fix this tool. All I did was plugging known bug from crashing the
program.)
Tested: h5committest.
CXX_SHARED_CONDITIONAL does not appear in AM_CONDITIONAL
This was due to a removed AM_CONDITIONAL macro in configure.ac.
The CXX_SHARED_CONDITIONAL code was removed from the Makefile.am
files. Additionally, the C++ shared library build settings field in
libhdf5.settings file was updated.
Tested on: local linux VM w/ C++
--enable-shared --enable-static
--enable-shared --disable-static
--disable-shared --enable-static
- Adds 'F' suffixes for most float constants.
- A few constants MUST be of type double. These now receive the long
double L suffix and are then cast to double. I do this via a new
H5_DOUBLE() macro which was added to H5private.h.
Fixes: HDFFV-9148
Tested on: h5committest
branch.
Removed the configure option that allows selective disabling of individual
internal filters (fletcher32, shuffle, etc.).
This feature mucked up the code with a lot of #ifdefs, saved very little space,
and was not scalable to a general scheme for library size reduction. We've
decided to remove the feature while we investigate a more general scheme for
decreasing the library size.
Part of: HDFFV-9086
Tested on: h5committest
- Remove Infering parallel compilers (C and Fortran) from configure.ac
- Remove restriction to build shared with parallel
- Cleanup parallel sections in configure.ac
- remove large file support checks
- MPE fixes.
tested with h5committest.
bin/genltanalyze script, which has been deleted. Also removed the
generated hl/src/H5LTparse.c/h and H5LTanalyze.c files.
Part of: HDFFV-9120
Tested on: Local Ubuntu VM
Removed restiction of disabling shared libraries on the MAC, H5_FORTRAN_SHARED was replaced with HAVE_SHARED_CONDITIONAL since H5_FORTRAN_SHARED was removed.
tested: jam
Developers will now have to run bin/reconfigure (deprecated, will be removed
soon) or autogen.sh after checking out code.
Part of: HDFFV-9120
Tested on: jam with Fortran and C++
Change AC_TRY_RUN TO AC_TRY_COMPILE
Changed all the instances of AC_TRY_RUN for the Fortran and C++ tests to use
AC_COMPILE_IFELSE and moved all the tests to new files in m4 directory:
aclocal_cxx.m4 (for C++ tests)
aclocal_fc.m4 (for Fortran tests)
tested: jam
Discovered when I temporarily #defined HDfree() to a more complicated
function while investigating something.
Tested on a local linux VM. This is a very minor change.
Merge 64-bit ID changes from branch to trunk. (Plus a few minor cleanups
that aren't on the branch)
Tested on:
Mac OSX/64 10.9.4 (amazon) w/C++ & FORTRAN
(h5committested on branch already for a week)
Merge changes from Coverity branch to trunk:
r20907:
Original issue was #338.
Refactored code to clean up allocations consistantly, completely, check all returns, assign initialization values and handle errors.
Tested on:
MacOSX/64 10.9.3 (amazon) w/gcc 4.9, FORTRAN, C++, parallel & multi-threaded
(too minor to require h5committest)
Bring changes from hdf5_1_8_coverity branch back to trunk:
r20878:
Issue 76: Check if H5Tget_nmembers(type) fails and simply return(FALSE). Also move printf to after check.
r20880:
Issue 192: Create ret_val var set to -1. Add out label for failures to jump to, return ret_val at bottom.
r20882:
Fixes for coverity:
1) bug #1679: remove dead code in test/mf.c
2) bug #1680: remove dead code in tools/lib/h5diff_dset.c
r20883:
Fix coverity issue 585
Description:
Changed variable "c" in processStrData in h5import.c to an int, to match fgetc
return value, and removed call to feof, instead checking if c == EOF.
Tested on:
MacOSX/64 10.9.3 (amazon) w/C++, FORTRAN & parallel
(too minor to require h5committest)
ib files. The fix also removed dependencies on libhdf5, etc. when the --disable-sharedlib-rpath co
nfigure option was invoked.
Added instead configure variable hardcode_into_lib=no. This removes rpath from lib files on Linux
and solaris machines.
Tested with h5committest on jam, koala, ostrich and platypus (cmake), and with configure option --disable-sharedlib-rpath on emu, platypus and quail.
For make installcheck, compile and run installed examples using the installed scripts. They were being compiled but not run.
Add Fortran2003 examples to the run-ex-fortran script when fortran2003 is enabled.
Set flag to -O3 in production mode for Intel compilers other than those with specified other settings.
Gentoo patches:
Remove unnecessary setting of LD_LIBRARY_PATH from configure.
Prevent potential array subscript out of bounds error in perform/pio_engine.c and sio_engine.c.
Tested with h5committest on jam, koala, ostrich and platypus, on emu and kite, and parallel tests on jam, koala and platypus with mpich built with gnu 4.8.2 and with intel compilers.
AIX compiler complains that:
ex_ds1.f90, line 89.16: 1512-050 (W) Field separator is missing, in literal FMT specifier, after edit descriptor X. A comma is assumed.
Line 89:
WRITE(*,'(/,5X 3(A,1X),I0,A,L1)') 'Is',TRIM(DS_1_NAME),&
Solution:
Added the missing comma after "5X".
Tested:
AIX system.
functions that return library-allocated memory. The test and tool
code were modified to use this new function where it's appropriate.
Fixes HDFFV-7710, HDFFV-8519, and HDFFV-8551
Tested on:
64-bit Windows 7 w/ VS2012
32-bit LE linux w/ parallel and fortran (jam)
32-bit LE linux w/ fortran and C++ (jam)
Clean up more compiler warnings, plus merge a few Coverity bug fixes from
the hdf5_1_8_coverity branch back to the trunk:
r20877:
Purpose: Fix coverity issue 1723
Description:
Modified test_generate in hl/test_image to close file "f" before exit, even if
an error occurs.
r20879:
Issue 63: change check of return of H5Tget_nmembers to <=0. No need to go
futher if call fails as well as empty.
r20881:
Coverity #659 in Run 46: I changed the Line 442 where it tries to check whether
FLAG_PRINTED is TRUE. But it had just been set to FALSE. I took out the
condition check in the print statement.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & Parallel
(too minor to require h5committest)
Remove all traces of MPI-POSIX VFD and GPFS detection/code.
Remove remaining traces of stream VFD.
Remove testpar/t_posix_compliant test (it's not actually verifying anything).
Clean up H5D__mpio_opt_possible() further.
Moved environment variable that disables MPI collective operations into
MPI-IO VFD (instead of it being in src/H5S.c).
A few other small code cleanups.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/parallel & serial
KitWare recommendations: Change CMake commands to lower case.
Bump up CMake minimum versions.
Split test file into separate file for h5repack test.
Tested: local linux
KitWare recommendations: Change CMake commands to lower case.
Bump up CMake minimum versions.
Split test file into separate file for h5repack test.
Tested: local linux
Brought changes from Coverity branch back to trunk, and cleaned up misc.
other warnings & formatting issues:
r20833:
Fixed Coverity 667 and 668 with real integer overflow tests this time.
r20834:
Use HDstrncpy and HDstrncat. --gh
r20835:
Change to use strncpy - use base_len + 1 for line 156, use HDstrlen(path) + 1 for line 159
r20836:
Fixed coverity 585 by casting output of fgetc() to a char.
r20837:
Changed sprintf calls to snprintf with size 1 less than the allocated buffer to address coverity issue #967.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/C++, FORTRAN & parallel
(too minor to require h5committest)
Rename GCC_DIAG_OFF/ON macros to H5_GCC_DIAG_OFF/ON and move from
src/H5private.h to src/H5public.h. Wrap typedef of hsize_t and hssize_t
in DIAG_OFF(long-long) macros.
Clean up a bunch of "macro '-' is unused" warnings.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/gcc 4.8.2, C++, FORTRAN, parallel
(too minor to require h5committest)
Check in Mohamad's changes to support collective I/O on point selections,
along with some other minor cleanups.
Tested on:
Mac OSX/64 10.9.2 (amazon) w/parallel & serial
(h5committest forthcoming)
Revert some earlier usage of strncpy, which was incorrect.
Bring Coverity changes from branch back to trunk:
r20821:
Use HDstrncpy. --gh
(Fixed already, with strdup)
r20822:
(Not merged, incorrect use of HDstrncpy())
r20823:
(Not merged, incorrect use of HDstrncpy())
r20824:
Maintenance: Bug fix: addressed CID 666.
Value stored at *expression_len should be used in the call to
HD5packFstring to avoid overflow (and unnecessary arithmetic
calculation and casting)
r20825:
Issue 642: Added check for error and handler with print to stderr and exit.
r20826:
Undo revision 20818, as that issue has already been fixed in the 1.8 branch
and trunk (but not coverity branch)
r20827:
(Not merged, incorrect use of HDstrncpy())
r20828:
Use HDstrncpy. --gh
(Corrected use of strncpy())
r20829:
Check return of H5Lget_val(print_udata->fid, path, targbuf,
linfo->u.val_size + 1, H5P_DEFAULT) and if error set trgbuf[0] to 0.
Check if H5Lunpack_elink_val(targbuf, linfo->u.val_size, NULL,
&filename, &objname) was successful and allow print. Otherwise filename
and objname are not created. (init those to NULL)
r20830:
resolved coverity issues 939, 940, 941, 944, and 947.
all were complaints about use of sprintf, and in all cases, the
buffers used were large enough for all eventualities.
Resolved issue by replacing calls to sprintf with calls
to snprintf.
r20831:
Maintenance: Addressed CID 852
Replaced sprintf with snprintf
r20832:
Purpose: Fix valgrind issues with hl/examples/ex_image2
Description:
Modified hl/examples/ex_image2 to free global "gbuf" before exit.
Tested on:
Mac OSX/64 10.9.1 (amaon) w/C++, FORTRAN & Threadsafety
(too minor to require h5committest)
behind by "make distclean" (see below); modified appropriate Makefile.am files and ran
bin/reconfigure to create Makefile.in to fix the problem.
Here is the list of the files "make disclean" doesn't remove:
tools/h5dump/testfiles
tools/h5repack/testfiles/h5diff_attr1.h5
tools/h5repack/testfiles/tfamily00000.h5
tools/h5repack/testfiles/tfamily00010.h5
tools/h5repack/testfiles/tfamily00002.h5
tools/h5repack/testfiles/tfamily00004.h5
tools/h5repack/testfiles/tfamily00006.h5
tools/h5repack/testfiles/tfamily00008.h5
tools/h5repack/testfiles/tfamily00001.h5
tools/h5repack/testfiles/tfamily00003.h5
tools/h5repack/testfiles/tfamily00005.h5
tools/h5repack/testfiles/tfamily00007.h5
tools/h5repack/testfiles/tfamily00009.h5
tools/h5jam/testfiles/h5jam-ub-nohdf5.txt.err-sav
tools/h5jam/testfiles/h5jam-help.txt.err-sav
tools/h5jam/testfiles/h5unjam-help.txt.err-sav
tools/h5jam/testfiles/h5jam-ub-nohdf5.txt.out-sav
tools/h5jam/testfiles/h5jam-help.txt.out-sav
tools/h5jam/testfiles/h5unjam-help.txt.out-sav
hl/fortran/test/dsetf5.h5
c++/test/tattr_multi.h5
c++/test/tattr_scalar.h5
c++/test/tfattrs.h5
c++/test/tattr_basic.h5
c++/test/tattr_compound.h5
c++/test/tattr_dtype.h5
Tested on jam and emu in place and using srcdir with the svn stat command.
This fix doesn't address two problems:
tool/h5dump/testfiles directory is not removed by "make distclean" and it should be
tools/misc/testfiles directory is removed by "make distclean" and it shouldn't be
Prep work for adding a memory free function, part of HDFFV-8551.
Tested on:
32-bit LE linux (jam)
* with C++, Fortran
* with thread safety on
These are minor changes (almost entirely renaming foo functions
to HDfoo) that don't change functionality. This should not
require a full commit test.
Clean up warnings in H5Tconv.c (down to _only_ 9000 lines of output now!)
Merge changes from Coverity branch back to trunk:
r20684:
Fix for coverity bug #1721 which was due to the fix for coverity bug #943.
r20685:
Use HDstrncpy. --gh
r20761:
Purpose: Fix valgrind issues
Description:
Free image_data and data as appropriate in test_image.
r20762:
Purpose: Fix coverity issue 600
Description:
Add check for return value of H5O_close in H5Ocopy. Also cleaned up various
warnings.
r20763:
Purpose: Fix valgrind issues with h5stat
Description:
Modified h5stat to free "iter" before exit, and free "hand" before exit if
parse_command_line exits directly.
r20764:
fixed coverity issues:
69, 327, 614, 684, 685, 696, 697, 1681, 967, 826, 660, 80
r20765:
Fixed coverity bug 668
Pulled x * y * z multiply out of malloc operand into a separate n_elements variable to quiet integer overflow warning.
No actual integer overflow tests are performed since it's just a test program but I did add a check that n_elements is >= 1.
I also changed an error condition from doing its own close and returning -1 to "goto out;" like the rest of the program.
r20766:
Fixed coverity bug 667
Pulled x * y * z multiply out of malloc operand into a separate n_elements variable to quiet integer overflow warning.
No actual integer overflow tests are performed since it's just a test program.
Tested on:
Mac OSX/64 10.8.3 (amazon) w/C++ & FORTRAN
(h5committest upcoming)
Bring r20683 from Coverity branch back to trunk:
Isues 1309-1333: Changed strcpy/strcat to strncpy/strncat with maximum size expected.
Tested on:
Max OSX/64 10.8.3 (amazon) w/C++ & FORTRAN