Clean up the chunked storage "initialize by extent" routine, in preparation
for fixing another VL-datatype fill value bug.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Add small interface to "wrap" a static buffer (usually on the stack), but
still allow for buffers larger than the static buffer to be allocated. This
can eliminate _many_ short-lived buffer allocations in situations where the
buffer is a predictable size (or at least a "very likely" size).
Also, some minor code cleanups, particularly in the SOHM caching code.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Description: added new configuration to generate a pubconf file
in the c++/src directory, H5cxx_pubconf.h. When C++
compiler recognizes 'offsetof', the macro
H5_CXX_HAVE_OFFSETOF is defined in the new
pubconf file.
tested: kagiso, smirom
Description:
Clean up the MANIFEST a little bit. Also removed some batch files and empty folders that were added mistakenly in the last check-in.
Tested:
Too minor.
Description:
Many files added removed in last check-in. I still need to clean up a little bit, but I just wanted to get this in before the Daily Tests start.
Tested:
chkmanifest on kagiso
Desciption:
This is the first major check-in in the process of depreciating Visual Studio 6.0. We create a new directory, windows_vs6, which now holds all of our previous VS6 project files. We expect to maintain this directory for only a short time (perhaps one release), so users have time to make the change.
The ./windows directory now contains project files for Visual Studio .Net, as well as existing source and test scripts. This will allow us to greatly simplify the build process for the majority of our users.
We have created a new solution (.Net equivolent of workspace) that houses the Fortran project files. This allowed us to remove these files from the main solution, as well as streamline the conversion in the Fortran solution. It is also much easier now to convert to Visual Studio 2005 files.
Notes:
I didn't update the MANIFEST with this check-in, I will make those changes shortly.
Also, I haven't yet updated the documentation to reflect this check-in. That is going to require more work.
We will be giving a seminar in the coming weeks about .Net and how to migrate over.
Tested:
VS6/VNET/VS2005 on WinXP 32/64-bit
Refactor fill value buffer code into one location, for better long-term
maintenance.
Tested on:
Mac OS X/32 10.4.10 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
Description:
Windows does not accept the buffer size parameter of setvbuf to be less than 2. Previously, we had our fix split between two files, H5private.h and the Windows H5pubconf.h. This was a problem for MinGW, because it generates its own H5private.h. This moves the fix out of H5pubconf.h and into H5private.h.
This shouldn't affect other platforms.
Tested:
MinGW on WinXP
Clean up SOHM code, to copy message in H5HF_op call instead of separate
calls to H5HF_get_obj_len() and H5HF_read().
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Description:
Updated RELEASE.txt to reflect support for 64-bit Windows. Also updated the testing table, and removed some old Windows-related issues that are no longer present.
No testing needed.
Bug fix.
Description:
The "h5dump -o ..." test generates temporay files in the testfiles of the
source code and later on remove them. This could cuase a racing condition
if more than one --srcdir build is using the same copy of the source code.
Since they use the same file name in the testfiles, they may conflict with
each other.
Solution:
Changed to generate the temporary files in the build-dir's own testfiles
directory. Since the build-dir can have different names, the CMP of expected
output now skip the first three lines which are label lines that contains
the location of the temporary.
Also removed the CREATE code since actual files created now cannot be
blindly copied to the expect files. Also, expected files should be
create by explicit action and careful inspection of files generated.
Tested platform:
Done in kagiso, both by --src-dir and in-place build.
On Windows, Mingw interprets all parameters starting with '/' as paths, and replaces the '/' with its home directory, "C:\Windows\msys\". This was a problem in h5diff tests such as:
h5diff h5diff_101.txt $FILE1 $FILE1 /g1/d1 g1/d2 -v
I've removed the leading '/', as h5diff will interpret it the same either way.
Tested:
kagiso, linew, and smirom, via h5committest
mingw on Windows XP
Add some additional tests for reading non-contiguous selections from
datasets which haven't had any data written to them (both non-VL and VL
datatype fill values covered)
Tested on:
Mac OS X/32 10.4.9 (amazon)
FreeBSD/32 6.2 (duty)
FreeBSD/64 6.2 (liberty)
company. The I/O is optimized when the source and destination
members are a subset of each other one way or another, and
the order is the same, and no conversion is needed. For example:
struct source { struct destination {
TYPE1 A; --> TYPE1 A;
TYPE2 B; --> TYPE2 B;
TYPE3 C; --> TYPE3 C;
}; TYPE4 D;
TYPE5 E;
};
or
struct destination { struct source {
TYPE1 A; --> TYPE1 A;
TYPE2 B; --> TYPE2 B;
TYPE3 C; --> TYPE3 C;
}; TYPE4 D;
TYPE5 E;
};
The optimization is simply moving data from the source to the
appropriate places in the buffer and bypass the reading of
the background data and data conversion.
Tested on smirom, liberty, sol, and copper.
Description:
Bring the expected output for the C++ examples up-to-date. This file is used in the Windows test script. It is also used by ./c++/examples/testexamples.sh, although this script is never run by hand. 'make check' runs the script generated by testh5c++.sh.in, which doesn't use expected.out.
Tested:
VS6 on WinXP
kagiso
Bug fix.
Description:
Test test_misc25b() open an existing test data file with RDWR unnecessarily.
(This was discovered during read-only test.)
Changed file open mode to RDONLY.
Tested platform:
Kagiso (readonly) only since it is a trivial change.
Description:
Removed sys/uio.h dependency, which was originally added to clean up compiler warnings. It is no longer needed, and needs to be removed to compile on mingw, which doesn't have this header.
Tested:
kagiso, duty, mingw
Changed macro names, conflict with new compiler
-- changed DATASET to H5_TOOLS_DATASET
-- changed DATATYPE to H5_TOOLS _DATATYPE
-- changed GROUP to H5_TOOLS_GROUP
In mingw's version of winsock2.h they define:
typedef unsigned int GROUP;
remove STORAGELAYOUT macro, it was not used
tested: linux
Description:
Changed a macro in H5FDwindows.c from IO_BUF_SIZE to a more specific WINDOWS_MAX_BUF, and moved it to our H5pubconf.h, where users can customize it to their own preference.
This value is needed because of a bug in the Windows _write function, it is unsafe to write buffers larger than 2GB-1 bytes in one write.
Tested:
VS2005 on WinXP.
Fix problems with 'check-vfd' target, that were [mostly] introduced with
the recent "unique, but sharable" ISOHM optimization.
The problems were mostly with using the 'core' VFD, so the
H5Pset_fapl_core() API call was changed to re-open existing files (therefore
operating more list the sec2, stdio, etc. VFDs). This allows many more of
the tests to run using the 'core' VFD, so those were enabled also.
Tested on:
Linux/64 2.6 (chicago2) w/check-vfd
Fix writing variable-length datatype fill values for contiguous dataset
storage
Tested on:
Mac OS X/32 10.4.9 (amazon)
Linux/32 2.6 (chicago)
Linux/64 2.6 (chicago2)
I've also updated our Windows documentation file to include 64-bit instructions. The process is fairly tedious right now, but we hope to make it more straight-forward when we depreciate 6.0 and re-work our project files.
Tested:
32-bit WinXP: VS6, VS.NET, and VS 2005
64-bit WinXP: VS.NET and VS 2005
Description: When the compiler has the __offsetof__ extension, the
H5_HAVE_OFFSETOF macro will be defined. When the compiler
does not have the extension, the macro will remain undefined.
Tested: kagiso
Also added a Windows-specific macro, WINDOWS_USE_STDIO, which users can define if they'd like the Windows VFD to use the buffered low-level I/O functions. This is instead of splitting our Windows driver into two separate drivers. By default, this macro is undefined.
Tested:
VS6 on WinXP
der /src. So when gmake check-install is run for HDF5 examples, it will fail. Th
e fix is to include a macro #ifdef H5_HAVE_WINDOW around #include H5FDwindows.h
so that H5FDwindows.h will only be included on windows, not on other platforms.
We've fixed with the same way for other source code that includes H5FDwindows.h.
This has been tested with h5committest. However, it takes a few hours to test all tests and except kagiso. Tests on linew and smirom cannot finish. It takes forever for the fheap test.
And for parallel test at kagiso, ph5diff test seems to be hanged. I think all of our changes will only affect windows. So in order not to block other developers to check in their code, we just go ahead to check our changes.
Kent Yang