Description:
In some of the new H5EA* code, many new C99 features are being used. Most of them are portable to all compilers, but the __func__ keyword in particular isn't supported in Visual Studio on Windows. Instead, Windows defines the __FUNCTION__ keyword, which can be used as a direct substitute.
We now check for the __func__ keyword during configure and define the feature flag H5_HAVE_C99_FUNC. There was previously a check for __FUNCTION__, and the feature flags H5_HAVE_FUNCTION. In H5EApkg.h, we check for the presents of each of these in order to see which to use. If neither are avaiable, fail.
Tested:
h5committest (kagiso, smirom, linew)
Temporary removed b2 from the --enable-debug=all list so that this option
will pass. "configure --help" lists the --enable-debug=all and users tend
to use it and end up with compile failures in the b2 debug code. Since this
bug will not be fixed soon, this is a temporary fix to let the configure and
build work.
Tested:
h5committest plus "--enable-debu=all" test in kagiso.
In nh5tget_offset_c:
(1) The return value type of H5Tget_offset was set to size_t where
it should be of type int.
(2) Was if offset was equal to 0 it returned the error code of -1 back to
Fortran, this was changed to return an error code of -1 when the
offset value is < 0.
In h5tget_norm_c:
(1) was if the return value of H5Tget_norm = 0 it would return an error
code to Fortran, but from enum of the return value:
typedef enum H5T_norm_t {
H5T_NORM_ERROR = -1, /*error */
H5T_NORM_IMPLIED = 0, /*msb of mantissa isn't stored, always 1 */
H5T_NORM_MSBSET = 1, /*msb of mantissa is always 1 */
H5T_NORM_NONE = 2 /*not normalized */
/*H5T_NORM_NONE must be last */
} H5T_norm_t;
only when -1 is returned is there an error, changed it to return an error
only if the value of H5T_NORM_ERROR = -1.
Remove trailing whitespace from C/C++ source files, with the following
script:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Tested on:
Mac OS X/32 10.5.5 (amazon)
No need for h5committest, just whitespace changes...
When enable-debug is turned on, a special macro block H5_HAVE_INSTRUMENTED_LIBRARY inside HDF5 will be executed to check if some collective chunk IO test cases are being run with the correct settings(one link, multiple chunk etc.). However,when complicated derived datatype in some mpi-io packages are not supported, the library has to switch one link IO with/without the optimization to multiple chunk IO with/without the optimization. The current testsuite doesn't know this and generates a false assertion failure message.
This check-in fix this problem by providing a second property to avoid the false faiure message.
Tested at abe(NCSA linux cluster) and kagiso.
When enable-debug is turned on, a special macro block H5_HAVE_INSTRUMENTED_LIBRARY inside HDF5 will be executed to check if some collective chunk IO test cases are being run with the correct settings(one link, multiple chunk etc.). However,when complicated derived datatype in some mpi-io packages are not supported, the library has to switch one link IO with/without the optimization to multiple chunk IO with/without the optimization. The current testsuite doesn't know this and generates a false assertion failure message.
This check-in fix this problem by providing a second property to avoid the false faiure message.
Tested at abe(NCSA linux cluster) and kagiso.
Add additional test and make a few cleanups in extensible array unit
test.
Tested on:
Mac OS X/32 10.5.4 (amazon) in debug mode
Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Clean up how v2 B-tree (and extensible array) classes are determined in
h5debug.
Add support for extensible array headers and index blocks to h5debug
Tested on:
Mac OS X/32 10.5.4 (amazon) in debug mode
Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
More extensible array features: add support for setting/getting
elements in the array's index block.
Tested on:
Mac OS X/32 10.5.4 (amazon) in debug mode
Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Minor formatting cleanups
Tested on:
Mac OS X/32 10.5.4 (amazon) in debug mode
Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
rank 0 in job 77 honest1.ncsa.uiuc.edu_60945 caused collective abort of all ranks
exit status of rank 0: killed by signal 9
Up to this point, we decide to turn off the use of advanced MPI derived datatype features inside HDF5 so that complicated selection tests are ensured to be handled by HDF5. This check-in reflects this.
Description:
New h5repack tests were added in revision 15551 and 15557, and also the syntax of one test was changed. This was causing errors on Windows. This checkin should fix those errors.
Tested:
VS2005 on WinXP
Description:
In revision 15549, new source code was added for the extensible array interface. This checkin adds the source code to Windows, along with the new test project, earray.
Note: The new H5EA interface causes compilation errors on Windows, and will need to be fixed in the source.
Moved AM_CONDITIONAL([FORTRAN_HAVE_SIZEOF]....) outside of Fortran conditional loop so that the value gets registered regardless of whether Fortran is enabled.
Compiles either H5test_kind.f90 or H5test_kind_SIZEOF.f90 depending on the availability of intrinsic Fortran function SIZEOF (indicated by the status of FORTRAN_HAVE_SIZEOF).
Was not returning the correct fortran types when -i8 and -r8 flag was specified, fixed. This code is now depreciated and only used when SIZEOF function is not available, H5test_kind_SIZEOF.f90 should be used instead.
H5test_kind_SIZEOF.f90 is the preferred portable program used for Fortran type detection. It uses the intrinsic Fortran function SIZEOF. This program should be used instead of H5test_kind.f90 if the SIZEOF function is available. Most of the newer Fortran compilers support SIZEOF.
Update extensible array code with function to open an existing earray,
add more tests and avoid running the test when core/split/family/multi VFDs
are used.
Clean up fractal heap test code a bit and expand some of the tests a
little bit also.
Tested on:
Mac OS X/32 10.5.4 (amazon) in debug mode
Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
-t T, --threshold=T Threshold value for H5Pset_alignment
-a A, --alignment=A Alignment value for H5Pset_alignment
2) bug fix
the printing of the dataset name was not done for references (verbose mode)
tested: windows, linux
Initial checkin of extensible array data structure prototype code and
regression tests.
Initial definitions for revised FUNC_ENTER/LEAVE and error reporting
macros, which are being vetted in the extensible array code.
Minor warning and formatting cleanups in other sections of code.
Tested on:
Mac OS X/32 10.5.4 (amazon) in debug mode
Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe,
in production mode
FreeBSD/32 6.3 (duty) in debug mode
FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode
Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe,
in debug mode
Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x,
w/C++ & FORTRAN, in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
Description:
There is a new Fortran file, H5_DBLE_InterfaceInclude.f90, which needs to be added to Windows. There is also another version, *InterfaceExclude.f90, which is for users that build with the -r8 flag. However, we don't include this on Windows, as it is not currently a common option. If we get requests from users, we can add documentation for using this alternative interface.
Tested:
VS2005 w/ IVF9.1 on WinXP