| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adding support for dll
Description:
Added the definition of __DLLCPP__ depending on:
HDF5_CPPDLL_EXPORTS: C++ API is to be exported - this name is
generated by MSVC++ when the project was created.
HDF5CPP_USEDLL: C++ API dll is to be used (imported.) Any
applications, that use the C++ API dll, must define this
name in the project setting.
On non-windows platforms, __DLLCPP__ is nil.
Platforms tested:
Linux 6.2 (eirene)
Windows 2000
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Cleanup compiler warnings found by the SGI compiler and gcc 3.0
Platforms tested:
FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
|
|
|
|
|
|
| |
Bug fix
Description:
Correct prototype inconsistency.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
If a non-zero fill-value is used for a chunked dataset, any non-existent
chunked read with an "all" selection (or a contiguous hyperslab selection)
will return zero for those instead of the user's fill-value.
Solution:
Fixed I/O code to pass down fill-value to "optimized" I/O routines, so it
will be available to fill the user's buffer with.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
fixed a typo of the name H5S_set_extend on the call
FUNC_ENTER (H5S_set_extend, FAIL);
Platforms tested:
w2000 octopus
linux eirene
sun arabica
IRIX64 modi4
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When a block was preempted from the chunk cache, it is possible that one
of the pointers in the algorithm is invalidated and would generate a core
dump.
Solution:
Re-calculate the internal pointer and move the the preemption after the
re-calc.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description:
modified the below files to inlude a new public function H5Dset_extend, similar
to H5Dextend, but it can lower the dimension
this function requires 2 more new private functions:
H5D_set_extend
H5S_set_extend
Platforms tested:
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Correct inefficient property copying when using derived property list
classes.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix & feature add
Description:
Added new API function H5Sget_select_type to determine type of selection in
a dataspace. Return values are defined by the H5S_sel_type enumerated type
in H5Spublic.h
Also, hyperslab operations involving a "all" or "none" selection are not
generating the correct resulting selections.
Solution:
Added more code to make hyperslab operations against an "all" or "none"
selection generate the correct results.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Generic property classes derived from an existing class were not having
the parent class's properties copied into the new class.
Additionally, derived classes were not being detected correctly.
Solution:
Copied properties from parent class into derived class.
Modified H5P_isa_class_real() to walk back up the chain of parent classes
to proper detect derived classes.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up H5D_read and H5D_write routines, adding comments, etc.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code speedup
Description:
Chunking I/O routines are reading in an entire chunk when performing I/O
on the chunk, even if the chunk will be too large to cache.
Solution:
If the chunk is too large to cache, uncompressed and has been allocated
space in the file, or if we are using the MPI-I/O VFD, perform the I/O
directly to the chunk, instead of reading the chunk into memory, updating
it and immediately writing the entire chunk back out.
Platforms tested:
FreeBSD 4.5 (sleipnir) (using serial access) and IRIX64 6.5 (modi4) (using
parallel access with MPI-I/O)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fixes
Description:
This checkin addresses two separate bugs:
#1 - When a compound datatype with a VL datatype as a field is used
to read or write data, the datatype conversion paths added to
the table of paths were treating the VL datatypes somewhat too
genericly - they weren't dicriminating between VL datatypes used
in different files and therefore there was the possibility that
a path in the table having information for one file could get used
with a second file, causing errors or core dumps (if the first
file was closed before the later file used the path).
#2 - When composite (compound, array or VL) datatype paths in the datatype
conversion table are being tested to see if they can be used for
the current datatypes being converted, they can cause additional
conversion paths to be registered in the conversion path table.
Since this causes the global table to change size and entries to
move around, it is possible that the local variables tracking a
potential path could become incorrect as the global table was
changed out from underneath them.
Both bugs fixed are described in bug #703
Solution:
Two separate fixes:
#1 - Changed H5T_cmp to differentiate between VL datatypes in different
files and not to return datatypes in two different files as equal.
#2 - Note size of global table before evaluating datatype paths. Then,
after the appropriate path has been chosen, check if the size of
the global table has changed and recompute the position of the path
chosen in the table if necessary.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Added some more assertions to help debug in the future...
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
More optimizing for byte order conversion. Mostly just making code
easier to follow by simplifying Duff's device coding of the loops.
I also split the conversion function into two functions with different
names so output from H5T debugging indicates whether the optimized or
unoptimized case was invoked.
2002-01-25 10:48:34 Robb Matzke <matzke@arborea.spizella.com>
*: Added prototype for H5T_conv_order_opt().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More optimizing for byte order conversion. Mostly just making code
easier to follow by simplifying Duff's device coding of the loops.
I also split the conversion function into two functions with different
names so output from H5T debugging indicates whether the optimized or
unoptimized case was invoked.
2002-01-25 10:48:54 Robb Matzke <matzke@arborea.spizella.com>
* H5T_conv_order: Removed Duff's device consisting of >500 lines of code. Unrolled
two loops by hand resulting in <300 lines of code
which is a few percent faster and far easier to read.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More optimizing for byte order conversion. Mostly just making code
easier to follow by simplifying Duff's device coding of the loops.
I also split the conversion function into two functions with different
names so output from H5T debugging indicates whether the optimized or
unoptimized case was invoked.
2002-01-25 10:47:13 Robb Matzke <matzke@arborea.spizella.com>
* H5T_init_interface: Registered conversion function H5T_conv_order_opt() under two
names. H5T debugging will report the conversion
function as either "ibo(opt)" or "fbo(opt)".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
When file space was returned to the file space free-list for reuse,
occasionally raw data allocations which used space from the free-list
would overlap with the metadata accumulator and get over-written with
the cached information in the accumulator, corrupting the data.
Solution:
Check if the space about to be recycled on the free-list is going to be
used for raw data and also overlaps with the metadata accumulator cache,
avoiding using space that fits those criteria.
This fixes bug #701
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Feature improvement
Description:
Re-write how the free-list headers were used, to reduce the amount of space
added to each malloc request. Reduced header for array and block free
list items from 24 bytes to 8 bytes and eliminated the header for fixed-size
free list items entirely. This should reduce the amount of memory that the
library uses.
Platforms tested:
FreeBSD 4.5 (sleipnir) & IRIX64 6.5 (modi4)
|
|
|
|
|
|
|
|
|
|
| |
Code improvement
Description:
Take advantage of the "MALLOC_WORKS" flag to not force malloced memory
pieces to be at least 1 byte when the malloc implementation allows
malloc(0) to work.
Platforms tested:
FreeBSD 4.5 (sleipnir) & Cray SV1 (killeen)
|
|
|
|
|
|
|
|
|
|
| |
New feature check
Description:
Added check to determine if malloc(0) returns a valid pointer for a
particular architecture.
Platforms tested:
FreeBSD 4.5 (sleipnir) where malloc(0) works
Cray SV1 (killeen) where malloc(0) doesn't work
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Missed CVS conflict in ifdef'd code
Solution:
Editted to remove CVS conflicted code.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
HDfprintf was not handling Microsoft's "%I64d" extension to printf for
printing thier '__int64' type.
Solution:
Added code to properly detect and use this extension.
Platforms tested:
None! (Kent will be testing shortly)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
The value of H5_SIZEOF_SSIZE_T is not being updated to reflect the correct
size of the ssize_t typedef, if we have to define it ourselves.
Solution:
Undef H5_SIZEOF_SSIZE_T at beginning of block where we define the typedef
for ssize_t and then re-define it to the correct size when we've chosen a
size.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix.
Description:
Equation to compute size of attribute in memory was incorrectly using the
disk's datatype (and dataspace, but that turns out not to have been the
actual issue) and when a variable length datatype was used for the
attribute, the wrong size is being computed.
Also, the variable-length datatype conversions aren't handling the
default dataset transfer property list (H5P_DEFAULT) correctly.
Solution:
Changed attribute code to compute the attribute size in memory correctly
by using the memory datatype & dataspace.
Changed the variable-length datatype conversion code to use the default
dataset transfer property list when H5P_DEFAULT is passed as the property
list ID.
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix/Code Cleanup
Description:
Duplicated call to H5T_path_find was being made.
Solution:
Removed one... :-)
Platforms tested:
FreeBSD 4.5 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Feature Add
Description:
Needed to add the DEV_T_IS_SCALAR macro to acconfig.h so that
autoheader will propagate that to the H5config.h file.
Solution:
Added, reran autoheader
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removing the DPSS (gridstorage) driver source code.
Description:
The DPSS (using Grid-Storage) driver is retired.
Removed the configure option with-gridstorage from configure.in.
Cvs remove the following files
./src/H5FDdpss.c
./src/H5FDdpss.h
./test/dpss_read.c
./test/dpss_write.c
Regenerated Dependencies files (some had to be hand-edited since
'make depend' did not cover them.)
Removed reference to DPSS Virtual file driver from H5F.c.
Platforms tested:
modi4 (Parallel; -with-gass=...), eirene, arabica (fortran, cxx).
|
|
|
|
|
|
|
|
| |
Code Cleanup
Description:
Updated function tracing information
Platforms tested:
Linux 2.2.x (eirene)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix.
Description:
The H5Rget_object_type function could not get the object type for dataset
region references.
Solution:
Added a new function, H5Rget_obj_type, to replace H5Rget_object_type.
The new function requires the reference type as an additional parameter,
in order to allow queries on different reference types to be performed
correctly.
Platforms tested:
FreeBSD 4.4. (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
H5Tinsert was allowing compound datatype fields to be inserted past the end
of the datatype.
Solution:
Added range check in H5T_insert
Platforms Tested:
FreeBSD 4.4 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Bug Fix
Description:
Committing the changes in the MPI/IO stuff so that parallel HDF5
will work on HP-UX. It seems that on HP-UX, the MPI_Status variable
needs to be initialized to 0 for it to work (i.e., in some other MPI
calls, if there's garbage in the MPI_Status variable, then it will
barf).
Solution:
Initialized to 0.
Platforms tested:
HP-UX parallel, Linux.
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Fixed a previous commit that introduced an undeclared variable error.
Platforms tested:
eirene (serial, pp), modi4(pp)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Tweaked internal error handling macros to reduce the size of the library's
object code by about 10-20%.
Also cleaned up some compiler warnings...
Platforms tested:
FreeBSD 4.4 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Modify H5Fclose behavior
Description:
The HDF5 actual file close behaves in several ways in terms of if there
are still objects(dataset, group, datatype) opened in file.
Solution:
Added a new file access property, file close degree. It has four values,
H5F_CLOSE_DEFAULT
H5F_CLOSE_WEAK
H5F_CLOSE_SEMI
H5F_CLOSE_STRONG
The way a file is closed is decided by these values.
Platforms tested:
IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
The file metadata macros generate unaligned access warnings on the IA64
architecture.
Solution:
Got rid of bogus big-endian vs. little-endian differentiation when encoding
and decoding file metadata and use proper set of macros to prevent unaligned
access problems.
This fixes bug #672.
Platforms tested:
FreeBSD 4.4 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
The code in H5Sselect_hyperslab_valid contained an fencepost error and is
allowing selections which overlap the extent by exactly one element in any
dimension to pass as valid instead of flagging the selection as invalid.
This bug only affects hyperslabs which have been OR'ed together, not the
selection from a single H5Sselect_hyperslab.
This fixes bug #550.
Solution:
Changed an '>' to an '>=' and added new regression test to check for error.
Platforms tested:
FreeBSD 4.4 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Property that H5P(g|s)et_hyper_cache uses is no longer in use inside the
library.
Solution:
Removed H5P(g|s)et_hyper_cache API functions, except when backward
compatibility is turned on. When backward compatibility is turned on,
the property is defined by the library, but unused internally.
Platforms tested:
FreeBSD 4.4 (sleipnir)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backward Compatibility Fix
Description:
One of H5P[gs]et_buffer's parameters changed between v1.4 and the
development branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_buffer implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backward Compatibility Fix
Description:
One of H5P[gs]et_sieve_buf_size's parameters changed between v1.4 and the
development branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_sieve_buf_size implementation and
testing to allow v1.4.x users to continue to use their source code without
modification.
There are no C++ or FORTRAN wrappers for these functions.
There are also no regression tests for these functions... :-(
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backward Compatibility Fix
Description:
One of H5P[gs]et_meta_block_size's parameters changed between v1.4 and the
development branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_meta_block_size implementation and
testing to allow v1.4.x users to continue to use their source code without
modification.
There are no C++ or FORTRAN wrappers for these functions.
There are also no tests for these API functions currently... :-(
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backward Compatibility Fix
Description:
H5Pset_fapl_log's parameters have changed from a simple "verbosity" level
to bit-masked flags to enable various behaviors.
Solution:
Added in v1.4 compat stuff, on the unlikely chance that others are actually
using this code in some production way.
There are no C++ or FORTRAN wrappers for this call.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backward Compatibility Fix
Description:
One of H5P[gs]et_sym_k's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_sym_k implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Backward Compatibility Fix
Description:
One of H5P[gs]et_cache's parameters changed between v1.4 and the development
branch.
Solution:
Added v1.4 compat stuff around H5P[gs]et_cache implementation and testing
to allow v1.4.x users to continue to use their source code without
modification.
These changes are for everything except the FORTRAN wrappers - I spoke with
Elena and she will make the FORTRAN wrapper changes.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Missing a statement for an else branch when HAVE_GETTIMEOFDAY was defined,
which caused most machines to fail compiling.
Solution:
Re-arranged if/else statement to eliminate problem.
Platforms tested:
FreeBSD 4.4 (sleipnir)
|