Normalization changes that wouldn't otherwise be necessary if the VDS branch
wasn't coming in shortly.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Clean up warnings and some normalization against trunk.
Tested:
McaOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest not required on this branch)
Close FAPL for external link test, to fix infinite loop closing the library.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial
(too minor to require h5committest)
Refactor property list code to "deep copy" properties in the correct way,
retraining the rest of the library to copy & release things correctly. This
cleans up another batch of memory leaks, etc. within the library.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
Linux/32 2.6.x (jam) w/serial & parallel
(h5committest forthcoming)
compatible between 32 and 64 bit systems.
Expand cross platform property list encode/decode testing.
Fix warning in H5P__fill_value_enc.
Tested: jam, koala, ostrich (h5committest), ummon
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
Merge in part of Neil's property list fixes: Fix a minor memory leak,
add some sanity checks, clean up the code a little, and verify that encoding/
decoding default versions of the property lists works correctly.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial
(Too minor to require h5committest)
Complete revamp of package initialization/shutdown mechanism in the library.
Each package now has a single init/term routine.
This new way should avoid packages being re-initialized during library
shutdown and is also be _much_ more proactive about giving feedback for
resource leaks internal to the library.
Introduces a new "module" header file for packages in the library
(e.g src/H5Fmodule.h) which sets up some necessary package configuration macros
for the FUNC_ENTER/LEAVE macros. (The VFL drivers have their own slightly
modified version of this header, src/H5FDdrvr_module.h)
Also cleaned up a bunch of resources leaks all across the library and tests,
along with addressing many warnings, as I encountered them.
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
Linux/64 3.10.x (kituo) w/serial & parallel
Linux/64 2.6.x (ostrich) w/serial
Bring the "metadata rings" code from its branch (mdc_rings_v2) to the trunk.
(This change will support the page buffering feature)
Tested on:
MacOSX/64 10.10.5 (amazon) w/serial & parallel
(h5committest forthcoming)
Fix handling of layout version number.
Other minor fixes/cleanup.
NOTE: This commit changes the file format for VDS, all files must be
re-generated.
Tested: ummon
gcc 4.9.2 was used to create the warning list
- implicit casts
- shadowed variables
- various enum issues
- other minor fixes (comments, unused macros, etc.)
Tested on: h5committest
The only remaining code consists of a few floating-point tests
that rely on pre-generated and checked-in VMS files. These have
been left alone, even though they will not be possible to
recreate, since testing VMS float behavior is still important.
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.
numbers of elements selected, incorrect "slice" through limited dimensions,
incorrect number of printf substitutions.
Patch source selection space extent with bounds of selection if extent is
unknown before returning via H5Pget_virtual_srcspace.
Write updated VDS dataspace to file when it changes due to unlimited selections.
Other minor fixes/cleanup.
Tested: ummon
Renamed a few "h5tri_t extended" variables to "h5tri_t was_extended".
Apparently, "extended" is a typedef name someplace in the headers used
on Solaris, which causes potentially confusing warnings to be emitted.
Tested on: h5committest
Solaris w/ Solaris Studio (emu)
Description:
XL compilers in ostrich (PowerPC64 linux) fail in test/dt_arith
because of the removal of the LLONG_TO_LDOUBLE_CORRECT (removed in
r26625) and LDOUBLE_TO_LLONG_ACCURATE (removed in r26623).
Solution:
Reverse revisions
r26623: bring back LDOUBLE_TO_LLONG_ACCURATE configure macro
r26625: bring back LLONG_TO_LDOUBLE_CORRECT configure macro
r26627: bring back WANT_DATA_ACCURACY configure macro which is
used together with the above two macros. This also brings
back the enable-dconv-accuracy configure option.
Tested:
h5committested.
Also tested in ostrich using the XL compilers.
Implement support for H5Pencode/decode with VDS properties.
Testing for H5Pencode/decode with VDS.
Relax assertion check for number of elements written to buffer as we do not
check for overlaps in mappings.
Other minor fixes/cleanup.
Tested: ummon
a different ID in the same type. Added a new skiplist routine,
H5SL_try_free_safe, which iterates over items, freeing some of them, and which
intercepts and defers attempts to remove from the list outside of the main
iteration. Changed H5I_clear_type to use this function.
Tested: jam, koala, ostrich (h5committest); ummon
- Updated the preprocessor logic that defines the H5_ATTR_* macros. The Solaris
Studio compiler understands __attribute__ but not the specific attributes
that we use. The H5_ATTR_* macros are now defined as blank with that
compiler which significantly cleans up the warnings, making debugging
easier.
- Replaced a few lingering __attribute__ macros with H5_ATTR_* markup.
Tested on: h5committest
Solaris w/ Solaris Studio (emu)
Implement support for H5Ocopy on VDS.
Testing for H5Ocopy on VDS.
Fix check-vfd failure.
Other minor fixes/cleanup.
Note there is a preexisting failure in h5repack testing.
Tested: ummon
Correct error with braces around macro (in production builds), also clean
up a few warnings.
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial, parallel & production
Linux/32 2.6 (jam) w/serial & parallel
Clean up parameters to H5C__flush_single_entry: accept cache entry instead
of address, and make new flag for deleting entry from skiplist on destroy
instead of a separate parameter to the routine.
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial & parallel
Linux/32 2.6.x (jam) w/serial & parallel
Split parallel metadata cache code into separate source code modules.
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial & parallel
(too minor for h5committest)
Bring 'fail if unknown always' object header message flag from the
avoid_truncate branch, strengthen error checking for unknown messages, and try
to catch object header code configurations at compile time (instead of runtime).
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial & parallel
(h5committest forthcoming)
to open source files and datasets, instead of using the default property lists.
Modify VDS to reject attempts at parallel I/O, fix parallel compile error.
Modify VDS to not write fill value to memory buffer if the fill value is
undefined.
Other minor fixes/cleanup.
Tested: ummon
extent.
Improve algorithm for calculation of VDS extent by removing the need for a
temporary copy of a dataspace.
Other minor fixes/cleanup.
Tested: ummon
Large code cleanups and optimizations, in preparation for the upcoming
v3 metadata cache merge.
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial & parallel
Linux/32 2.6.x (jam) w/serial & parallel
library no longer iterates over all source datasets in the printf mapping, it
now only looks at the ones that could be involved in I/O (the ones whose bounds
overlap with the selection in the unlimited dimension).
Tested: ummon
H5_VDS_FIRST_MISSING)
Add test for this
Rework VDS code to not depend on unlimited selections having a "clipped" state
in preparation for removing the clipped state from unlimited selections.
Other bug fixes/cleanup
Tested: Kubuntu 64 (home computer)
test/Makefile.in was updated due to changes in the Makefile.am
file that missed a reconfigure. The changes just added a few
VDS test files to the deletion list.
Note that there are trace issues with a new VDS struct that
show up when running bin/reconfigure. I reverted these for
fixing at a future date.
Tested on: jam
Normalize trunk against the metadata_cache_merge branch, in preparation
for merging the branch into the trunk.
Tested on:
MacOSX/64 10.10.3 (amazon) w/serial & parallel
Linux/64 2.6.x (koala) w/serial
Linux/32 2.6.x (jam) w/serial & parallel
enum argument.
Add support for AND and NOTA/NOTB operations with unlimited selections.
Add some tests for unlimited selections.
Other minor fixes/cleanup.
Note: "clipped" status of unlimited selections is not properly updated with
H5Sselect_copy. This is a deliberate omission since fixing it would take work
and we are planning to eliminate the clipped status anyways.
Tested: ummon
The H5F_ACC_DEBUG symbol remains but has been defined to zero and
has been listed as deprecated.
Fixes: HDFFV-1074
Tested on:
h5committest
32-bit Linux w/ C++ and Fortran and multi VFD
32-bit Linux w/ C++ and Fortran and multi VFD (no deprec symbols)
When the selection is set to all, H5Sextent_copy did not update the number of
elements in the selection in the destination space. Fixed H5Sextent_copy to do
this. Added tests for this functionality.
Tested: jam, koala, ostrich (h5committest)
Fix off by 1 error in H5S__hyper_project_intersection algorithm.
Add many tests for fixed size hyperslab I/O.
Note make check still fails in h5dump test (unrelated to this checkin).
Tested: ummon
Bring r26543 from autotools_rework branch to trunk:
Remove the LLONG_TO_LDOUBLE_CORRECT macro/define, it's working around
bugs in very old SGI/FreeBSD/Windows compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26513 from autotools_rework branch to trunk:
Remove the LDOUBLE_TO_LLONG_ACCURATE macro/define, it's working around
bugs in older SGI, HP/UX, MacOSX and Windows .NET 2003 compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26511 from autotools_rework branch to trunk:
Remove the FP_TO_INTEGER_OVERFLOW_WORKS macro/define, which is for working
around bugs in the Cray X1 compiler and is no longer supported.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26508 from autotools_rework branch to trunk:
Remove HW_FP_TO_LLONG_NOT_WORKS macro/define, it was only addressing
Windows .NET 2003 compiler issues.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26503 & r26528 from autotools_rework branch back to the trunk:
Remove old platform configure files: craynv, dec-flags, hpux11.23,
ia64-linux-gnu, nec-superux14.1, sv1-cray, x86_64-redstorm-linux-gnu
Also remove CONVERT_DENORMAL_FLOAT, since this was only set in the
configure files being removed.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26502 from autotools_rework branch to trunk:
Remove the H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS and
H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS macros/defines, as they are no longer used by
supported platforms.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26501 from the autotools_rework branch to the trunk:
Remove ULLONG_TO_LDOUBLE_PRECISION macro/define, as it's targeting bugs
in the FreeBSD and Cygwin compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26500 from autotools_rework branch to trunk:
Remove the LLONG_TO_FP_CAST_WORKS macro/define, as it targets problems with
the Visual Studio 6 compilers.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26499 from autotools_rework branch to trunk:
Remove ULLONG_TO_FP_CAST_WORKS macro/define, as it only applies to older
platforms we aren't supporting any longer.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for 2+ days)
Bring r26494 from autotools_rework branch back to trunk:
Remove the LDOUBLE_TO_UINT_ACCURATE macro/define, it was addressing
problems with older Intel compilers on Linux that are no longer supported.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(Daily tested on branch for several days)
Bring r26492 from autotools_rework branch back to trunk:
Remove the FP_TO_ULLONG_ACCURATE and FP_TO_ULLONG_RIGHT_MAXIMUM
macros/defines, which were added to address problems with older PGI
compilers and HP-UX systems and are no longer supported.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(daily tested on branch for >1 week)
Bring r26485 from the autotools_rework branch to the trunk:
Remove the ULONG_TO_FLOAT_ACCURATE macro/define, we no longer support the
Sandia system where it was necessary.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(daily tested for >1 week)
Note there are still some code coverage assertions in the selection matching
algorithm - if you hit these try taking them out.
Note make check still fails in h5dump test (unrelated to this checkin).
Tested: ummon
Bring r26483 from autotools_rework branch back to trunk:
Remove INTEGER_TO_LDOUBLE_ACCURATE macro/define - we no longer support
SGI systems.
Tested on:
Linux/32 2.6.18 (jam) w/serial & parallel
(daily tested on branch for >1 week)
Remove the LLONG_TO_LDOUBLE_CORRECT macro/define, it's working around
bugs in very old SGI/FreeBSD/Windows compilers.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not needed on this branch)
H5Pset_istore_k() will validate the "ik" value to not exceed the max v1 btree entries (2 bytes)
The same check for H5Pset_sym_k() "ik" value.
h5committested.
Remove the LDOUBLE_TO_LLONG_ACCURATE macro/define, it's working around
bugs in older SGI, HP/UX, MacOSX and Windows .NET 2003 compilers.
Tested on:
MacOSX/64 (amazon) 10.10.2 w/serial & parallel
(h5committest not required on this branch)
Remove the FP_TO_INTEGER_OVERFLOW_WORKS macro/define, which is for working
around bugs in the Cray X1 compiler and is no longer supported.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove HW_FP_TO_LLONG_NOT_WORKS macro/define, it was only addressing
Windows .NET 2003 compiler issues.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove old platform configure files: craynv, dec-flags, hpux11.23,
ia64-linux-gnu, nec-superux14.1, sv1-cray, x86_64-redstorm-linux-gnu
Also remove CONVERT_DENORMAL_FLOAT, since this was only set in the
configure files being removed.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove the H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS and
H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS macros/defines, as they are no longer used by
supported platforms.
Tested on:
MacOSX/64 10.10.x (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove ULLONG_TO_LDOUBLE_PRECISION macro/define, as it's targeting bugs
in the FreeBSD and Cygwin compilers.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove the LLONG_TO_FP_CAST_WORKS macro/define, as it targets problems with
the Visual Studio 6 compilers.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove ULLONG_TO_FP_CAST_WORKS macro/define, as it only applies to older
platforms we aren't supporting any longer.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Bring r26258 from the autotools_rework branch to the trunk - remove
the LDOUBLE_TO_INTEGER_WORKS macro/define, which was addressing issues with
SGI systems that are no longer supported.
Tested on:
Linux 2.6.x (jam) w/serial & parallel
Daily tested on branch for >2 weeks
Remove the LDOUBLE_TO_UINT_ACCURATE macro/define, it was addressing
problems with older Intel compilers on Linux that are no longer supported.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove the FP_TO_ULLONG_ACCURATE and FP_TO_ULLONG_RIGHT_MAXIMUM
macros/defines, which were added to address problems with older PGI
compilers and HP-UX systems and are no longer supported.
Tested on:
MacOSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Bring r26257 from autotools_rework branch back to the trunk - removes
the LDOUBLE_TO_INTEGER_ACCURATE macro/define, which was addressing problems
with SGI systems and is no longer supported.
Tested on:
Linux 2.6.x/32 (jam) w/serial & parallel
Daily tested on branch for >2 weeks.
Remove the ULONG_TO_FLOAT_ACCURATE macro/define, we no longer support the
Sandia system where it was necessary.
Tested on:
Mac OSX 10.10.2 (amazon) w/serial & parallel
(h5committest not necessary on this branch)
Remove INTEGER_TO_LDOUBLE_ACCURATE macro/define - we no longer support
SGI systems.
Tested on:
Mac OSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Added tests for I/O on virtual dataset with source datasets in unopened files.
Note there are still some code coverage assertions in the selection matching
algorithm - if you hit these try taking them out.
Note make check still fails in h5dump test (unrelated to this checkin).
Tested: ummon
Solaris and OS X.
Added public API functions that expose the C library's memory allocator
for use in filter functions that need to allocate or resize buffers.
Intended for use with filter plugins, particularly on Windows, where C
runtime (CRT) issues can cause problems.
Fixes: HDFFV-9100
Tested on: h5committest + OS X (quail) + Solaris (emu)
H5Rdereference should check for default (HADDR_UNDEF) value and not continue processing and return so that ret value can be checked and handled properly
Tested: jam (gnu)
- 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
for use in filter functions that need to allocate or resize buffers.
Intended for use with filter plugins, particularly on Windows, where
C runtime (CRT) issues can cause problems.
Fixes: HDFFV-9100
tested on: jam (minor, localized change)
It should no longer be necessary to use --enable-using-memchecker
make check fails due to an issue with h5ls apparently unrelated to the merge
Tested: ummon
Add H5Sis_regular_hyperslab() and H5Sget_regular_hyperslab() API routines,
along with tests.
Tested on:
Mac OSX/64 10.10.2 (amazon) w/serial
(h5committest forthcoming)
Remove LDOUBLE_TO_INTEGER_WORKS macro/define from configure/library/tests,
since it was added to support non-standard behavior on SGI IRIX & HP-UX, which
we don't support any longer.
Tested on:
Mac OSX/64 10.10.2 (amazon) w/serial & parallel
(h5committest not required on this branch)
Remove the LDOUBLE_TO_INTEGER_ACCURATE macro, since it was added to work
around non-standard behavior on SGI IRIX, which we are no longer supporting.
Tested on:
Mac OSX/64 10.10.2 (amazon) w/serial
(h5committest not required on this branch)