Remove all plain calls to H5Gopen() from source, replacing them with
either H5Gopen2().
Add test for H5Gopen1().
Reformatted several pieces of code, to clean them up.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
Mac OS X/32 10.4.10 (amazon)
Description:
In h5unjam.c, there was a call to "open", rather than "HDopen". This isn't a problem on most platforms, as the are equivalent. However, on Windows, we use the HDopen macro to unconditionally set the O_BINARY flag. This is needed to safely seek within a file.
Tested:
VS2005 on WinXP
h5committest (kagiso linew smirom)
Make version macro for typedefs closer to version macro for API
functions.
Tested on:
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
Pursue calls to H5Gcreate() relentlessly and ruthlessly exterminate
them, leaving only a few tame specimens in text files and comments. ;-)
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
Change definition of H5E_walk1_t compatibility type to match the H5E_walk_t
type in the 1.6.x library.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Too minor to require commit test
Description:
Previously, the libtest_cstubdll project was creating the DLL in the project directory, rather than the Output directory. This was a simple typo, and not caught previously because past builds had the DLL installed. Cleaning up our batch files will make this easier to catch in the future.
Tested:
VS2005 on WinXP x64
First real use of API versioning code, H5E routines switched to use
new API versioning scheme.
Tested on:
Mac OS X/32 10.4.10 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
Linux/32 2.6 (kagiso)
Linux/64 2.6 (smirom)
Solaris/32 5.10 (linew)
1. In H5Dwrite and H5Dread, let the data buffer point to a fake address if the application passes
in an empty buffer. This is mainly for MPIO programs that some processes may not have any
data to write or read but still participate the I/O. This solution solves some MPI's problem
like the ChaMPIon on tungsten which doesn't support empty buffer.
2. The ChaMPIon on tungsten doesn't support complex derived MPI data type correctly and collective
I/O when some processes don't have any data to write or read correctly. Detect the compiler
"cmpicc" in the system-specific config file and set the variables for these two cases to false.
The PHDF5 library already has set up a way to switch collective chunked I/O to independent
under these two cases.
3. A bug fix - During the work of the optimization for compound data I/O, the case for switching
collective chunked I/O to independent I/O was leftout. Fixed it by adding I/O caching to it in
H5D_multi_chunk_collective_io in H5Dmpio.c.
Tested on tungsten, cobalt, and kagiso for parallel; on linew and smirom for serial.
Description:
This checkin is another Windows project cleanup, and also extends our Windows support for 64-bit Fortran. Project files are now in VS2005 format, rather than VS.NET. A couple projects have been renamed to be more descriptive (*cstub rather than *_lib), and project settings make better use of build macros. This will make them much easier to update in the future.
Tested:
VS2005 on WinXP 32-bit
VS2005 on WinXP x64
Correct error in metadata cache entry logic for free space objects, where
a free space header could unpin its entry in the cache, even when the sections
for that free space manager were still in the cache and technically holding the
header pinned. Fix problem by checking for the section info in the cache
before allowing the header to unpin its cache entry.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Refactor H5HF_size() size statistics code for fractal heap to conform to
how the rest of the fractal heap routines work.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.10 (amazon)
Change metadata cache protect access from "write" to "read" for the free
space header, which follows the same pattern as the fractal heap's use of
the metadata cache.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 10.4.10 (amazon)
Correct problem with fractal heap's free space size usage gathering
routine, which was "poisoning the cache" by loading an incorrectly initialized
piece of metadata from the file.
Tested on:
FreeBSD/32 6.2 (duty)
Mac OS X/32 6.2 (amazon)
Fix bug with moving object header messages forward into null messages
of exactly the same size and located in an object header chunk with a gap.
(Exposed by netCDF-4 test)
Tested on:
FreeBSD/32 6.2 (duty)
Description:
The way I had integrated H5_HAVE_SIGLONGJMP previously, we conditionally removed far more functionality than we needed. As a result, Windows type alignment was lost. This commit localizes the ifdef so it only surrounds the actual call to siglongjmp. This is equivalent to what we've done in the past-- simply comment out the line.
Tested:
VNET on WinXP
Description:
Previously the process of generating h5tinit.c, as well as the Fortran type files, was very manual on Windows. For Fortran, the process included opening 4 different solutions, and running 4 different commands from the prompt. I've made things very much more automated, and now only requires only building one project for either C or C/Fortran. Running the commands to generate the file is done automatically.
Tested: VS.NET
First attempt contained slightly dated versions of the files
listed below.
Must also note that the mods were tested with h5committest,
and two other linux builds.
Description:
We are porting Fortran to 64-bit Windows, and need to make many syntactical changes to bring the code up to date. We now go back to using "!DEC$" rather than "!MS$" in our "ATTRIBUTE" code. Also, the naming conventions for mixed language is inconsistent from 32- to 64- bit Windows. To make up with this, we use the "decorate" flag. We also needed to change the "calling convention" in project settings from "CVF" to "default".
Also other minor cleanups on project files.
Tested:
32-bit: VS.NET and VS2005
64-bit: VS2005
Description:
Visual Studio does not have the function siglongjmp. Therefore, we have created a new configure flag H5_HAVE_SIGLONGJMP that tests for this. We use this within H5detect.c.
Tested:
VS.NET
h5committest
Description: Configure will now detect the presence of the 'siglongjmp' function. If present,
the macro H5_HAVE_SIGLONGJMP will be defined in src/H5pubconf.h.
Tested: kagiso, smirom, linew
New feature: implementation of h5import conversion of an ASCII plain-text file containing text data
The string type H5T_C_S1 is used to define the data (the datum is defined here as one line of text in the text file). The size is set to variable length (H5T_VARIABLE)
The space used is a 1D array with as many elements as there are lines in the ASCII file (a line is defined by the inclusion of an end of line character, ASCII number 10). A first traversal of the input text file must be made to determine the number of lines in the file and thus the dimensionality of the dataset.
New test to the test script added
text input files and teststr.h5 for h5dump to compare added
Tested: windows, linux, solaris
Description:
At a previous seminar, it was brought up that the naming scheme for Windows debug DLL is inconsistent. Specifically, some use *ddll, while others use *dlld. *dlld is more widely-used, so we decided this is "correct". This changes others to use this scheme, and adapts other projects / install scripts / documentation.
Tested:
Visual Studio .NET on WinXP
Description:
Previously, we needed to force symbol definition "gethostname@8" for compatibility with old versions of Visual Studio. It appears that Visual Studio no longer requires this, so we remove it. This makes the build process on 64-bit much smoother.
Also minor updates to main documentation, command-line documentation, and removed codewarrior and INTEL docs.
Tested:
VS.NET
VS2005
chkmanifest
Binh-Minh came up with the code fix and Mike. M did changes to configuration
to make it to work.
Tested: kagiso with pgcc, pgCC and gcc, g++ compilers
linew with the SUN cc and CC compilers 32 and 64-bit
smirom with gcc, g++, and PGI version 7.0
All sequential daily tests that were skipped before for 1.8 branch are enabled now.