Description:
I couldn't get the HDF logo to appear, when the location for the
html files generated by doxygen is arbitrary. This arbitrary
directory doesn't contain the logo image file, which would be
placed in a planned directory.
The logo is removed now, but the image file is kept in the CVS
under hdf5/c++/src, just in case when I can find a solution.
Platforms tested:
Linux 2.4 (heping)
Windows XP
Misc. update:
New feature.
Description:
Command script to build the h5perf tool by standalone mode.
Platforms tested:
Tested by hand in heping using pre-release h5pcc.
Purpose: Typo fix
Description: Declaration of long double variable was after executable
statement. Many compilers choked ;-(
Solution: Declare variable before the first executable statement
Platforms tested: shanti (compilation only), copper (tests passed)
Misc. update:
New feature.
Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts. This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.
powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.
Platforms tested:
h5committested.
Bug fix.
Description:
In some racing condition, the process ID file might be removed just
the moment before timekeeper cats its content. When that happens,
the $pid is a blank. Timekeeper was not prepared for this.
Solution:
Added code to verify $pid is some number before proceeding.
Platforms tested:
Tested by hand only.
Description:
Fortran multi_file test failed on SX-6. It turned out that compiler
could not handle (long long HADDR_MAX) * ( float var). The result of this
operation was 0.
Solution:
Introduced long double variable to store the value of HADDR_MAX
and use the new variable in * operation. (Suggested by John)
Platforms tested: SX-6, mir with PGI compilers; a very minor change
Misc. update:
Description:
On VMS dsets test failed screaming about corrupted stack.
Debugging didn't show any obvious problems. Careful examination
of compilation warning messages (something like "function is used as
data in dsets") made me to search for duplicated names.
It turned out that two variables H5Z_SET_LOCAL and H5Z_CAN_APPLY
were confused with H5Z_set_local and H5Z_can_apply functions from
H5Z.c file.
Solution:
Changed variable names to H5Z_SET_LOCAL_TEST and H5Z_CAN_APPLY_TEST.
Platforms tested: Alpha VMS, heping; minor change
Misc. update:
Code cleanup/bug fix
Description:
Hoist function call out of inner loop of type conversion by retrieving
source & destination precisions once, outside the loop.
There's still some overhead because this information is stored in
variables set at run-time, when it's really constant for the particular
machine. Further work to set compiler macros would allow this code to be
optimized better by the compiler with dead code removal. We'll continue
to work on this area...
Also, made new internal H5T_compiler_conv routine static instead of of
private, until we need to reference it from another source code module.
Platforms tested:
h5committest
FreeBSD 4.11 (sleipnir)
Description: Fortran array was passed directly to a C function. Since
size of fortran INTEGER is bigger than size
of C int on SX-6 with -ew switch, the passed data was wrong.
Solution: Copy Fortran array to the appropriate C array.
Platforms tested: SX-6 ; trivial change
Misc. update:
Feature
Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.
Platforms tested:
mir, sleipnir, modi4
Misc. update:
Bug fix
Description:
Disabled C++ shared libraries for Sun Workshop compiler.
Solution:
This bug only seems to happen when using the -xarch=v9 flag to compile in
64-bit mode, but disabling shared libraries entirely for this compiler is
an easier fix (I don't know how to detect 64 bit mode from the command line).
The framework for disabling shared libraries for other C++ compilers is
in place.
Platforms tested:
sol, mir, sleipnir, modi4
Bug fix/feature
Description:
Disabled shared libraries for a number of Fortran compilers that don't
support them.
This allows other compilers to support shared Fortran libraries.
Solution:
Added a conditional, SHARED_FORTRAN_CONDITIONAL, which is true if
Fortran supports shared libraries. It is set in configure.in.
Platforms tested:
mir, sleipnir, colonelk, heping
Description: H5T_register() replaces any existing data conversion path
with a new path.
Solution: Added a parameter to H5T_register() and H5T_path_find() to
signal the library whether the new conversion path is from API function
H5Tregister() or from private function like H5T_init_interface(). If it
is from H5Tregister(), replace existing path. If it's from H5T_init_interface()
and the library is trying to register default hard conversion functions,
don't replace existing path because the path is registered by the library.
For example, the library registered H5T_conv_int_float() and is trying to
register H5T_conv_long_float(). The size of long is equal to int. There's
no need to replace the path H5T_conv_int_float().
Platforms tested: h5committest and fuss.
Description: The API function H5Tis_hard() which was recently checked
in has been renamed to H5Tcompiler_conv() to be more descriptive. No
other changes.
Platforms tested: fuss - simple change.
Misc. update: config/lt_vers.am to update libtool version.
Bug fix
Description:
Building with --disable-static seems to have been broken on several platforms.
Fixed this.
Configure will now disable shared libraries automatically when using pgf90
or when building on Cygwin.
Solution:
To avoid errors when using shared libraries with pgf90 (which I had not
realized were compiler-specific), I had manually set convenience libraries
to use the -static linking flag. Apparently, this is not necessary, and
caused these libraries to be created as empty archives when --disable-static
was used.
Also, some libraries were including other libraries, which was not
necessary.
I also fixed code in configure.in to correctly detect whether shared
or static libraries are enabled, and moved code that disables shared libraries
to before libtool is created (rather than editing libtool after the fact).
Despite repeated warnings that only one shared library can be linked at a
time, I have yet to have shared libraries break the linking of tests on
any system. We'll see if the Daily Tests turn up anything.
Platforms tested:
mir (fortran, C++), sleipnir (C++), modi4 (fortran, C++, parallel),
sol (fortran, C++), cygwin
Maintenance on Windows
Description:
Add in H5Pgcpl.c(Newly checked in) into hdf5 project file on Windows
Solution:
Platforms tested:
MSVS 6.0 On windows XP
Misc. update:
Maintenance on Windows
Description:
Add H5Pgcpl.c(newly checked in) into hdf5 project file on windows
Solution:
Platforms tested:
MSVS 6.0 on Windows XP
Misc. update:
Maintenance on Windows
Description:
Changes made for windows due to the change of h5detect.c
Solution:
Platforms tested:
MSVS 6.0, VS .Net, Intel 8.0 on Windows XP
Misc. update:
Maintenance on Windows
Description:
Changes made for windows due to the change of code H5f90i.h H5match_types.c
Solution:
Platforms tested:
MSVS 6.0 On windows XP
Misc. update:
Bug fix
Description:
A whole chunk of this file somehow got deleted and the heavily reduced
file was accidentally checked in. This is the complete version of the file, with the
mpiicc fix.
Solution:
Platforms tested:
Misc. update:
Description: Brought back changes from SX-6.
Solution: Program will not compile. Fixed.
Platforms tested: SX-6, heping and mir with new g95
Misc. update:
Description: Brought back changes from SX-6.
Solution: Tests will not compile. Fixed.
Platforms tested: SX-6, heping and mir with new g95
Misc. update:
Description: Compiler complained about const type * variables that were
used in the functions that require "non const" parameters.
Compilation failed.
Solution: Use casting to avoid compilation errors.
Platforms tested: SX-6, heping and mir with new g95
Misc. update:
Description: Added -K c99 flag to sxc++ flags to ienforce C99 standard;
added cache values for getrusage and gethostname
Solution:
Platforms tested: SX-6
Misc. update:
Bug fix
Description:
Forgot to remove a debug statement before committing.
Solution:
The script printined out what it thought CC_BASENAME was for debugging.
Removed this print statement.
Platforms tested:
minor change, mcr
Misc. update:
Code cleanup.
Description:
g++ on sleipnir complained and exited failed because the
malloc statement in ALIGNMENT was not properly casted.
Solution:
added the proper (char * ) casting.
Platforms tested:
Passed heping using gcc.
Sleipnir g++ passed too but that was also because the default development
mode is used.
Description: Quincey added the condition branch (else if (*((ST*)S) != (ST)((DT)(*((ST*)S)))))
in the definition of the macro H5T_CONV_Fx_CORE. It handles a special situation
when the source is "float" and assigned the value of "INT_MAX". Compilers do roundup
making this value "INT_MAX+1". This branch is to check that situation and return
exception for some compilers, mainly GCC.
The branch if (*((ST*)S) > (DT)(D_MAX) || (S_PREC < D_PREC && *((ST*)S) ==
(DT)(D_MAX))) is for some compilers like Sun, HP, IBM, and SGI where under
the same situation the "int" doesn't overflow.
A test was added to dt_arith.c to check 2 conversions, from float to int where the
float is INT_MAX, and from double to signed char where the double is SCHAR_MAX.
Platforms tested: h5committest and fuss.
Bug fix
Description:
Same bug as was just checked in for v16. Do the complicated
derived datatype check for compilers named mpiicc in addition to
mpicc.
Solution:
Platforms tested:
Misc. update:
Bug fix
Description:
Recent group code changes tweaked the size of the free space in the file
for this test. Update to the latest correct value.
Platforms tested:
h5committested
bug fix
Description:
during the generation of some test files, H5Fclose was not called
during the #ifdef detection of the scale ofsset filter, a wrong macro symbol was used
Solution:
Platforms tested:
linux
Misc. update:
Code cleanup/reorganization
Description:
Merge back some more changes extracted from the "compact group" set.
This bunch cleans up and prepares the H5G_* routines for eventual import of
new features.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Mac OS X.4
Code cleanup
Description:
Merge back changes from "compact group" work that improve the
infrastructure of the library and may impact others. In this round of
merging, that includes:
- Move datatype allocation into single internal routine, instead of
duplicated code that was spread out in a dozen or so places.
- Clean up guts of object header routines (H5O_*) to allow for some of
the fancieroperations that need to be performed on groups, along with
some general improvements.
- Added a new error code
- Some minor cleanups in other code....
Platforms tested:
FreeBSD 4.11 (sleipnir)
Linux 2.4
Mac OS X
bug fix.
Description:
In Janus (Tflops), the test would seg-fault in production (compiled
with -O). If compiled with -O0, it would be okay. Track down the
problem to the for loop index i & j being declared with type hsize_t
which is usually unsigned long int. Guess the Tflop compiler has
a bug in optimization that could not handle unsigned int as for loop
index.
Solution:
Since it is no need for i & j to be hsize_t and it makes more
sense to have them with type int. Changed them to int type.
Platforms tested:
Passed in tflops and colonelk here.
Description: Added support for "big" REAL and DOUBLE PRECISION types.
Solution:
Platforms tested: heping with g95 (-r8, -d8)
mir with ifc (-r16, -r8)
Misc. update:
Description: Added support for "big" REAL and DOUBLE PRECISION
datatypes (i.e. sizes of Fortran real and double precision
may be 8 and/or 16 bytes; usually specified by compilers
flags like -r8, -r16, -d8, etc.)
Solution: Added code to generate all necessary datatypes on a fly.
Platforms tested: heping with g95 (-r8, -d8)
mir with ifc (-r16, -r8)
Note: multi file test failed when REAL is 128 bit.
I will address this later.
Misc. update:
Description: Added code to generate sizes of Fortran REAL and
DOUBLE PRECISION types. This will "almost" eliminate
H5f90i.h file that defines C stubs datatypes.
Solution:
Platforms tested: heping with g95 (-r8, -d8 and default settings)
Misc. update:
Maintenance on Windows
Description:
Add definition for int <-> float conversion exception
Solution:
Platforms tested:
MSVS 6.0 on Windows XP
Misc. update:
upgrade.
Description:
A new feature md5 is added to the release script. Upgrade snapshot
to include md5 in the snapshot release process.
Platforms tested:
No test since the change is pretty simple and it is hard to test
without really doing a snapshot release.
Misc. update:
Bug fix
Description:
Incorrectly terminated the received string in getenv_all
Solution:
Tasks would incorrectly terminat the environment string they received from the
root task in getenv_all.
They did the equivalent of:
env[strlen(str) + 1] = '\0'.
This resulted in a single "garbage" character inserted
at the end of the string. This wasn't noticed until now because it seems that on most
platforms this garbage character was a 0 anyway.
This has been corrected to;
env[strlen(str)] = '\0'.
Platforms tested:
Red Storm (where the bug was discovered)
heping (pp)
Misc. update: