| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: In file H5FDsec2.c and H5FDlog.c, there's statements like
H5_ASSIGN_OVERFLOW(file->eof,sb.st_size,off_t,haddr_t);
It assumes sb.st_size from h5_stat_t is of type off_t. But on Windows, it
has type __int64. So the H5_ASSIGN_OVERFLOW statement may cause problem.
Instead of trying to do switch between Windows and other systems in H5FDsec2.c
and H5FDlog.c, define a substituting type in H5private.h to fix the problem.
On Windows, this type is __int64; on other systems, it is off_t.
Platforms tested: fuss. Simple fix. Already did h5committest for v1.6.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Updating H5api_adpt.h to help the implementation of Fortran DLL on windows.
Description:
1. More functions need to be added prefix macro for exporting and importing
fortran DLL on Windows.
2. unlink was _unlink on windows and use HDunlink to specify this.
Solution:
Platforms tested:
linux 2.4(h5committest not finished yet, but should work since the change is minor and it is passed with pgi compiler)
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Description: Restore 6 old error API functions back to the library to be backward
compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto. These functions do not have error stack as parameter.
Solution: Internally, these functions use default error stack.
Platforms tested: h5committest and fuss.
Misc. update: RELEASE.txt
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose: Maintenance/bug fixes (OSF1 C++ and missing Fortran APIs)
Description: bringing 1.6 changes to 1.7
Solution:
Platforms tested: OSF1, Solaris 2.8, AIX5.1
Misc. update:
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup/bug fix
Description:
Check for _O_BINARY being defined instead of O_BINARY, since we actually use
_O_BINARY. (Note that this only affects Windows)
Platforms tested:
FreeBSD 4.10 (sleipnir)
Not tested w/h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup & minor optimization
Description:
Re-work the way interface initialization routines are specified in the
library to avoid the overhead of checking for them in routines where there is
no interface initialization routine. This cleans up warnings with gcc 3.4,
reduces the library binary size a bit (about 2-3%) and should speedup the
library's execution slightly.
Platforms tested:
FreeBSD 4.10 (sleipnir) w/gcc34
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
Not all machines (like Sun and AIX) support fabsl() and fabsf() used
in test/dtypes.c. Changed the coding to use macro names HDfabsl and
HDfabsf. Also set the two macros to use ABS for now so that they will
work for all machines. (need more portable fixes which would involve
configure.)
Platforms tested:
h5committested. (also tested in LANL QSC and Theta).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix/code cleanup
Description:
Copy Robb's feature in SSlib that checks that the name of the function
used in the FUNC_ENTER macro is actually the name of function.
Fixed a bunch of typos & copy-n-pasto's for functions with incorrect names.
Platforms tested:
FreeBSD 4.9 (sleipnir) w/parallel
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When two property lists are compared, the H5Pequal routine was just
comparing the raw information for the property values. This causes problems
when the raw information contains pointers to other information.
Solution:
Allow a 'compare' callback to be registered for properties, so that a user
application get perform the comparison itself, allowing for "deep" compares of
the property value.
This was exported to the H5Pregister & H5Pinsert routines in the development
branch, but not the release branch.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Add special-case handling to floating-point conversion tests to avoid
problems with denormalized values on Cray T3E & T90 platforms. (Still not
working on Cray SV1, but at least it's closer).
Solution:
Detect denormalized values and don't try to operate on them on the Crays.
Platforms tested:
FreeBSD 4.9 (sleipnir)
Cray T3E (hubble.cray.com)
Cray T90 (gypsy.cray.com)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up compiler warnings, especially the 'FUNC' variable not used which
comes out in production mode.
Solution:
Had to add a new FUNC_ENTER_NOAPI_NOINIT_NOFUNC macro for those non-API
functions which don't need the 'FUNC' variable defined. (This will be _so_
much easier when C99 is standard on all our supposed platforms, since it has a
__FUNC__ macro... )
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor for h5committest (although there were lots of files changed, the
change was minor in each one)
|
|
|
|
|
|
|
|
|
|
|
| |
New macro
Description:
Introduce LLONG_MIN macro to match LLONG_MAX macro
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
Make --disable-hsizet work properly again by fixing a couple of tests and
correcting the definition of SSIZET_MAX.
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest not used, as it doesn't test this configuration.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor code
Description:
Use "template macro" technique to eliminate a huge amount of repeated code
in type initialization code (almost 1000 lines, between this change and the
changes to the H5Tconv.c file earlier).
This centralizes the common parts of the code and makes the different parts
of the code more obvious.
Platforms tested:
FreeBSD 4.9 (sleipnir)
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor integer conversion macros
Description:
Turned integer conversion macros "inside" out, using an interlocking
macro technique similar to templates in C++. The macro which actually performs
the conversion is now invoked "genericly" from inside another macro, which
will allow the inner conversion loop to be optimized in a much easier way.
This "psuedo-template" technique could be useful for other semi-repetitious
patterns in the library - possibly the datatype initialization code...
Platforms tested:
FreeBSD 4.9 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
De-linted more modules
Platforms tested:
FreeBSD 4.8 (sleipnir) w/ & w/o stream enabled
too minor to require h5committest
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed lines like:
H5E_clear(H5E_get_my_stack());
to:
H5E_clear(NULL);
which performs the same operation.
Platforms tested:
h5committested
|
| |
|
|
|
|
| |
Platforms tested: RH 8(simple checkin)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
When a non-default indexed storage B-tree internal 'K' value is set by the
user, the chunked datasets created in that file (until it is closed) use the
user's 'K' value and the data can be accessed correctly, but the 'K' value is
not stored in the file.
However, once the file is closed and re-opened, the non-default 'K' value
is lost and the data in the chunked datasets will not be able to be accessed
correctly.
Solution:
Store the indexed storage B-tree internal 'K' value in the superblock.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Change names of macro parameters to H5_ASSIGN_OVERFLOW to make them
easier to understand.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
More tweaks to clean up warnings from lint.
Platforms tested:
FreeBSD 4.8 (sleipnir)
not major enough to h5committest
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up various warnings from lint
Platforms tested:
FreeBSD 4.8 (sleipnir)
no major changes requiring h5committest
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
MPE instrumentation was out of date and wasn't reporting the correct name
of the API functions in the library.
Platforms tested:
IBM p690 (copper)
h5committest not performed because it doesn't test MPE.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Twist code
Description:
Try to find a happy definition of HSSIZET_MAX, HSSIZET_MIN and HSIZET_MAX
for all platforms.
Platforms tested:
FreeBSD 4.8 (sleipnir)
h5committested
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Fix HSIZET_MAX, HSSIZET_MAX and HSSIZET_MIN to work with Windows (hopefully)
Platforms tested:
h5committested
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Tweak HSIZET_MAX macro and add HSSIZE_MAX and HSSIZET_MIN macros.
Platforms tested:
FreeBSD 4.8 (sleipnir) w/C++
FreeBSD 4.8 (sleipnir) w/parallel
h5committested
|
|
|
|
|
|
|
| |
Code cleanup (sorta)
Description:
Updated to new copyright information as I browsed these files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New feature for developers.
Description:
Added "function stack" tracing to library. This allows developers (there
is no public API) to call H5FS_print within the library and get a listing
of the functions traversed to reach that point in the library. Eventually,
I may add support for reporting the parameters to each function also...
Mainly for debugging parallel I/O programs, but I think it will come in
handy in other cases also.
The function stack tracking is controlled with a configure switch:
--enable-funcstack, which defaults to enabled currently. When we branch
for 1.6, we should change the default setting on the branch to be disabled.
Also, added a destructor to the thread-specific keys when thread-safety is
turned on in the library. Otherwise, they were leaking memory and causing
difficult to debug errors in threaded programs (like the test/ttsafe test).
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) w/thread-safety enabled.
Misc. update:
Updated MANIFEST with new files added (src/H5FS.c & src/H5FDprivate.h)
Update release_docs/RELEASE with thread-safety bug fix.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Change some macros to make windows happy
Description:
Currently no srandom and random functions on windows,
Function gethostname cannot be resolved when DLL turned on
Solution:
use srand and rand to replace srandom and random
turn off the option to check gethostname
Platforms tested:
windows 2000, linux 2.2.18smp
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Fix preprocessor macros to declare variables correctly.
Platforms tested:
MS Visual Studio
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Various code cleanups to allow the development branch to be compiled with
a C++ compiler (i.e. CC=g++ )
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}
FreeBSD 4.7 (sleipnir) C++
|
|
|
|
|
|
|
|
|
|
|
| |
Code improvement
Description:
Add extra pair of braces to API versions of FUNC_ENTER/FUNC_LEAVE macros,
to make API <-> non-API mismatches obvious.
Platforms tested:
FreeBSD 4.7 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup/new feature.
Description:
Split FUNC_LEAVE into API and non-API specific versions. This allows a
solution to compiling this branch with C++, as well as reducing the size
of the binaries produced.
Platforms tested:
FreeBSD 4.7 (sleipnir) w/serial, parallel (including MPE) & thread-safe
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up a few more warnings and update dependencies.
Platforms tested:
Linux 2.2.18smp (eirene) serial & parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
new feature
Description:
Added MPICH/MPE instrumentation support.
All source code are bracketed by the macro H5_HAVE_MPE.
Use "--enable-mpe" to configure it in.
Currently only worked in Eirene because the MPE library is
not installed in all machines yet.
The added file, H5MPprivate.h, holds HDF5/MPE related defintions.
Platforms tested:
Tested h5committest {arabica (fortran), eirene (fortran, C++)
modi4 (parallel, fortran)}? Yep.
Other platforms/configurations tested?
--enable-mpe feature tested in Eirene.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Fix bugs for windows platform.
Description:
1. Update HDlseek for windows
2. Update H5Otime.c for normal time(non-daylight time)
3. Add H5_DLL in front of two functions so that windows DLL can work.
Solution:
Platforms tested:
windows 2000, eirene(since most updates have WIN32 around it, not need to test other platforms)
Misc. update:
Update MANIFEST if you add or remove any file.
Update release_docs/RELEASE for bug fixes, new features, etc.
Update applicable document files too.
|
|
|
|
|
|
|
|
|
|
|
|
| |
code warrior fix
CW does not recognize the _stati64 type, changed HDstat macro accordingly
Platforms tested:
windows 2000 (MSVC, Code warrior)
linux
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
__DLL__ is a keyword in some platforms and __DLL__ is also defined as a macro for windows DLL applications.
That causes problems.
Description:
Solution:
Use H5_DLL*** to replace __DLL***__ at all header files.
Change the macro defination at H5api_adpt.h.
Platforms tested:
linux2.2.18smp, irix64, solaris 2.7 and windows 2000
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed the last HRETURN* statements in the FUNC_ENTER macros into HGOTO*
macros, which reduces the size of the library binary in certain
configurations by another 10%
Platforms tested:
FreeBSD 4.6 (sleipnir) serial & parallel, IRIX64 6.5 (modi4) serial &
parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
Merged from 1.4 branch
Description:
API tracing improvements
Platforms tested:
Linux (--disable-hsizet didn't work before my changes and still doesn't
work, but --enable-hsizet is fine).
Note: This checkin includes temporary code in H5FDmpiposix.c to turn
off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API
supports the necessary prerequisite functionality this temporary code
can be migraged up above HDF5.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
It was possible to create corrupted metadata information (either in memory
or in the file or both) with a parallel I/O program because of the way
metadata writes were being handled for writes out of the metadata cache.
Solution:
Added a dataset transfer property called "block before metadata write"
which is used by the MPI-I/O and MPI-posix drivers to sync up all the
processes before attempting a metadata write. This property is currently
only for metadata writes from the metadata cache.
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Changed a few direct calls to posix functions to use proper wrapper macros.
Also, changed method of extending file to use ftruncate().
Platforms tested:
FreeBSD 4.6 (sleipnir) && IRIX64 6.5 (modi4)
|
|
|
|
|
|
|
|
|
|
|
| |
New feature
Description:
Add support in for "dmalloc" debugging malloc library to configure script
and library headers.
Platforms tested:
IRIX64 6.5 (modi4) and FreeBSD 4.6 (sleipnir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Broke the FUNC_ENTER macro into several macros, with more specialized
uses (which followup mail will describe). This was designed to move
most/all of the checks which could be done at compile time to that point,
instead of needlessly performing them (over & over :-) at run-time.
This reduces the library's size (and thus staticly linked binaries) and
has a minor speedup effect also.
Platforms tested:
IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing
on FreeBSD and Solaris immediately after the checkin.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup.
Description:
Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros
equivalents in the SAF library and adapted them to our library. I added
an additional macro which is equivalent to FUNC_ENTER:
FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but
none of the library or interface initialization code. This is to
be used _only_ for static functions and those which explicitly
cannot have the library or interface initialization code enabled
(like the API termination routines, etc.).
This allowed many more of the functions in the library [but not all yet :-(]
to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs.
It also reduced the size of the library and executables (by cutting out a
bunch of code which was never executed), I'll e-mail the exact results when
I've finished editing it.
Platforms tested:
IRIX64 6.5 (modi4)
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up warnings on IRIX64 6.5 (modi4)
Platforms tested:
IRIX64 6.5 (modi4)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Purpose:
eliminate warnings on win32
Description:
some conversion warnings were being issued
Solution:
added some type casts
Platforms tested:
w2000, linux
changed the HDmemset to include a cast in win32; this was just to eliminate a compiler
warning. probably the macro can also be used in unix
#ifdef WIN32
#define HDmemset(X,C,Z) memset((void*)(X),C,Z)
#else /* WIN32 */
#define HDmemset(X,C,Z) memset(X,C,Z)
#endif /* WIN32 */
the list of previous warnings was
D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
|
|
|
|
|
|
|
|
|
| |
Removed unused code that is related to inline issue.
hdf5 C source now uses H5_inline for the non-standard
inline feature. No need to undefine/redefine the symbol
inline itself.
Platforms tested:
eirene.
|
|
|
|
|
|
|
| |
Purpose:
updated some comments regarding Code Warrior , removed other debugging comments
Platforms tested:
w2000
|