| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Cleanup up a few compiler warnings...
Platforms tested:
IRIX64 6.5 (modi4) w/parallel
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Change most (all?) HRETURN_ERROR macros to HGOTO_ERROR macros, along with
HRETURN macros to HGOTO_DONE macros. This unifies the error return path
from functions and reduces the size of the library by up to 10% on some
platforms.
Additionally, I improved a lot of the error cleanup code in many routines.
Platforms tested:
FreeBSD 4.6 (sleipnir) serial & parallel and IRIX64 6.5 (modi4) serial &
parallel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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:
Need to change FUNC_ENTER_NOINIT to FUNC_ENTER_API_NOINIT for
H5dont_atexit()
Platforms tested:
FreeBSD 4.5 (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)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC
Description:
configure generates many macros definitions on the fly and
were stored in src/H5config.h which is included by H5public.h.
But other software that uses hdf5 may also run their own configure.
There can be a clash in macro name space. We decided awhile ago
to prepend all generated macros with "H5_" to avoid conflicts.
The process has started and this commit completes it (at least attempt
to).
Solution:
Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to
H5_SIZEOF_xxx and H5_HAVE_xxx). Then H5private.h no longer includes
H5config.h. This cuts H5config.h away from HDF5 source code.
Pending issues:
The module of fortran and pablo are to be resolved in a different
commit.
Platforms tested:
eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
|
|
|
|
|
|
|
|
| |
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:
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)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Clean up threading macros and remove vestiges of old-style property lists.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
| |
Purpose:
Switch from old property list to new generic property list.
Description:
Mainly changed H5Pcreat, H5Pclose, H5Pcopy.
Platforms tested:
IRIX64 6.5, FreeBSD, SunOS 5.7.
|
|
|
|
|
|
|
| |
Purpose:
Switch mount property list to the new generic property list.
Platforms tested:
IRIX64 6.5, SunOS 5.7, FreeBSD.
|
|
|
|
|
|
|
|
|
| |
Purpose:
Generic Property List Change
Description:
Changed file access list to the new generic list.
Platforms tested:
IRIX64, SunOS5.7, FreeBSD
|
|
|
|
|
|
|
| |
Purpose:
Changed the file creation property list to the new generic property list.
Platform tested:
IRIX64, SunOS5.7, FreeBSD
|
|
|
|
|
|
|
|
| |
Purpose:
Changed to the new generic property list for dataset creation property
list.
Platforms tested:
Arabica, modi4 and Hawkwind
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Kludge
Description:
Since we're only about halfway through converting the internal use of
property lists from the "old way" to the generic property lists, we turned
off snapshots to avoid exposing lots of API changes to users, until the
APIs settled down.
Getting the snapshots rolling again seems to have become a priority, so
some changes are going to have to be made now that were going to be
postponed until we were completely finished with the conversion. This
requires that the old API functions be able to deal with both the old
and new property lists smoothly.
Solution:
Kludge together the property list code so that they can transparently handle
dealing with both the old and new property lists
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup for better compatibility with C++ compilers
Description:
C++ compilers are choking on our C code, for various reasons:
we used our UNUSED macro incorrectly when referring to pointer types
we used various C++ keywords as variables, etc.
we incremented enum's with the ++ operator.
Solution:
Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid,
template)
Fixed usage of UNUSED macro from this:
char UNUSED *c
to this:
char * UNUSED c
Switched the enums from x++ to x=x+1
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup (sorta)
Description:
When the first versions of the HDF5 library were designed, I remembered
vividly the difficulties of porting code from a 32-bit platform to a 16-bit
platform and asked that people use intn & uintn instead of int & unsigned
int, respectively. However, in hindsight, this was overkill and
unnecessary since we weren't going to be porting the HDF5 library to
16-bit architectures.
Currently, the extra uintn & intn typedefs are causing problems for users
who'd like to include both the HDF5 and HDF4 header files in one source
module (like Kent's h4toh5 library).
Solution:
Changed the uintn & intn's to unsigned and int's respectively.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New Features!
Description:
Start migrating the internal use of property lists in the library from the
older implementation to the new generic property lists.
Currently, only the dataset transfer property lists are migrated to the
new architecture, all the rest of the property list types are still using
the older architecture.
Also, the backward compatibility features are not implemented yet, so
applications which use dataset transfer properties may need to make the
following changes:
H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW)
and
H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id)
This still may have some bugs in it, especially with Fortran, but I should
be wrapping up those later today.
Platforms tested:
FreeBSD 4.4 (hawkwind)
|
|
|
|
|
|
|
| |
Remove my fix...
Description:
Quincey already put a fix up for the bug I fixed before I could put
up my fix for the bug. So I'm retracting my fix.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
On some platforms, long long is printed with the "ll" modifier.
HDfprintf didn't handle this case.
Solution:
Added code which checks if there's an "ll" modifier on the template.
If so, then it uses that as the modifier.
Platforms tested:
Kelgia and Dangermouse
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix
Description:
'll' type description wasn't being handled correctly in HDfprintf, causing
testing failures.
Solution:
Added tests for 'll' to HDfprintf's type description parsing.
Platforms tested:
Solaris 2.7 (arabica)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Several system header files needed to be included on Linux machines to
get the prototypes for some of the system calls we are using.
Solution:
Added a new feature test macro for including the <features.h>
header on Linux machines, to set up compile macros for system header
files.
Platforms tested:
Linux (eirene), FreeBSD 4.3 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug Fix
Description:
HDfprintf wasn't aware of 'L' type modifier and was passing along the
'%Ld' verbatim instead of printing a long long integer value.
Solution:
Added 'L' to the type modifiers checked in HDfprintf
Platforms tested:
Linux (eirene)
|
|
|
|
|
|
|
|
|
|
|
|
| |
POSIX Removal
Description:
Removed calls to POSIX functions and replaced them with the HD*
equivalents.
Solution:
Did just that. Also had to create two new HD* macros, the
gettimeofday() and getrusage()
Platforms tested:
Linux
|
|
|
|
|
|
|
|
| |
Clean up compiler warnings.
Description:
Just code neatening mostly, some casts, etc.
Platforms tested:
FreeBSD 4.3 (hawkwind)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Code Simplification
Description:
H5Pget_class() was being called from the H5.c module. Changed it so
that it calls H5P_get_class() instead. Also, the H5Pget_class() and
H5P_get_class() functions were identical. Changed so that
H5Pget_class() calls H5P_get_class().
Platforms tested:
Linux
|
|
|
|
|
|
|
|
| |
New feature
Description:
Added verification of H5_VERS_INFO in H5check_version().
Platforms tested:
Eirene (linux).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update
Description:
Changed
#include <hdf_file.h>
construct to
#include "hdf_file.h"
so that the GNU compiler can more easily pick up the dependencies
which it places in the .depend and Dependencies files. Also
regenerated the Dependencies to go along with this.
Platforms tested:
Linux
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix (sort of)
Description:
The RCSID string in H5public.h was causing the C++ code problem as it
was included multiple times and C++ did not like multiple definitions
of the same static variable.
Solution:
Since we don't really make use of the RCSID strings as we have not
installed it in all source files, we decided to remove it.
Platforms tested:
eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
|
|
|
|
|
|
|
|
| |
Code update
Description:
Remove ragged array code & tests from library before release.
Platforms tested:
FreeBSD 4.2 (hawkwind)
|
|
|
|
|
|
|
|
| |
Clean up code.
Description:
Cleaned up various compiler warnings.
Platforms tested:
FreeBSD 4.2 (hawkwind)
|
|
|
|
|
| |
2000-12-01 Robb Matzke
*: Removed empty lines from end of file?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Several places in the code were using -2 as a default value for various
features. However, when a default value is returned from a function that
is supposed to return negative on failure, it was causing confusion and
extra work for users to check for the special value.
Solution:
Replaced hard-coded -2 values in the code with symbolic names, then changed
symbolic names to 0 instead of -2.
Platforms tested:
FreeBSD 4.2 (hawkwind)
|
|
|
|
|
|
|
|
| |
Backward compatibility code
Description:
Add in code to allow the library to emulate the v1.2 API and behavior.
Platforms tested:
FreeBSD 4.2 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
| |
Bug fix.
Description:
Generic property list code wasn't getting initialized early enough to get
the proper values into the macro/constants.
Solution:
Call H5P_init() from H5_init_library().
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
| |
Code cleanup
Description:
Found more "Have_foo" usage and converted them to "H5_HAVE_foo"
Platforms tested:
FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Maintainance & performance enhancements
Description:
Re-arranged header files to protect private symbols better.
Changed optimized regular hyperslab I/O to compute the offsets more
efficiently from previous method of using matrix operations.
Added sequential I/O operations at a more abstract level (at the same level
as H5F_arr_read/write), to support the optimized hyperslab I/O.
Platforms tested:
Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
|
|
|
|
|
|
|
| |
declaration.
Przemek Klosowski, Ph.D. <przemek@nist.gov> reported this problem on
Linux RH 6.1 systems.
|
|
|
|
|
|
|
|
| |
limits to be
placed on how much memory is used by the free lists before they are garbage
collected. The default is to have no limit, with garbage collection only
occurring when they cannot allocate memory.
|
|
|
|
|
|
| |
yet, but it's
close. This shouldn't interfere with other development work. (I think.. :-)
|
|
|
|
|
|
|
|
| |
objects being
cached instead of in separate structures. This reduces the amount of memory
the hash table uses by about half. This is the initial step along the path of
speeding up the metadata caching.
|
|
|
|
|
|
| |
HDF5 coding
standards.
|
|
|
|
|
|
| |
that all HDF5 API functions are protected by a mutex lock. Basically,
serialized all API calls. To use it, use
configure --enable-threadsafe --with-pthread
|
|
|
|
|
|
|
|
| |
H5Eset_auto(NULL,NULL)
has turned off error reporting in the library.
Also, changed the way property lists are managed and closed so that they
can be automatically closed when the library terminates.
|