functions that return library-allocated memory. The test and tool
code were modified to use this new function where it's appropriate.
Fixes HDFFV-7710, HDFFV-8519, and HDFFV-8551
Tested on:
64-bit Windows 7 w/ VS2012
32-bit LE linux w/ parallel and fortran (jam)
32-bit LE linux w/ fortran and C++ (jam)
Clean up srcdir querying code more, extracting it into single header file,
to avoid compiler warnings.
Tested on:
Mac OS X/32 10.6.2 (amazon) w/debug & prod
Linux/32 2.6 (jam)
Unify srcdir handling for test executables and allow them to use the srcdir
setting from configure time without requiring the 'srcdir' environment variable
be set (although you still can, to override the built in setting). Attempted
to get this right for Windows builds also.
Also add dependency between src/H5Tinit.c and src/libhdf5.settings, so
that the test/testcheck_version.sh script works correctly.
Tested on:
Linux/32 2.6 (jam)
Mac OS X/32 10.6.2 (amazon)
Bring Coverity fixes from 1/22/10 session to trunk:
r18137:
219: Initialized hid_t to -1 and added close to error block.
189-191: Initialized line to NULL and added free line, and close fp to error block.
r18138:
19: Moved code block for printing that the number of enums is empty to the error block. (Would never have been executed otherwise)
r18139:
Fix coverity item 58. Moved code related to displaying the parent of a repeated
group to the else(isRoot) section, as the root group has no parent.
r18140:
218: Initialized ret_value variable to -1. Because of throw Exception in default case of switch, the coverity problem would not have executed anyway. Good pratice is to initialize variables.
r18141:
Fix coverity item 92. Added code to H5E_register_class to free cls in case of
an error.
r18142:
Fix coverity item 91. Added code to H5E_create_msg to free msg in case of an
error.
r18143:
fixed issue 14,
took away "if" and used #ifndef_xxx.
r18144:
Fix coverity item 110. Added code to H5Eget_minor to free msg_str in case of
an error.
r18145:
fixed coverity #18 removed "aligned", it is always NULL.
r18146:
Fix coverity item 109. Added code to H5Eget_major to free msg_str in case of
an error.
r18147:
Fixed coverity #81 and #82, Check for bad pointer(s), but can't issue error, just leave
r18148:
Fix coverity item 97. Added code to H5FD_fapl_open to free copied_driver_info
in case of an error.
r18149:
Fix coverity item 96. Added code to H5FD_dxpl_open to free copied_driver_info
in case of an error.
r18150:
Fix Coverity issue #29: Protected cache_ptr dereferences with "if(pass)"
block
r18151:
Fix coverity item 93. Added code to H5FL_fac_init to free factory and new_node
in case of an error.
r18152:
Fix coverity items 98 and 99. Added code free allocated space in case of
error.
r18155:
124: Freed head pointer before jumping to done. There was no error handling block and normal exit used same path out.
120-123: Freed list of lists in error handling block.
r18156:
Fix coverity issues 179, 180, 181, 182, 183, 184, 186, 320, 407. These were resource leak issues where allocated memory was not freed, generally in the case of tests that failed.
Tested on:
Mac OS X/32 10.6.2 (amazon) debug & production
Make H5Tarray_create() and H5Tget_array_dims() versioned, and drop the
"perm" parameter from the '2' versions.
Shift internal library usage to '2' versions.
Add simple regression tests for '1' versions.
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
Make H5Dopen versioned and change all internal usage to use H5Dopen2
Add simple regression test for H5Dopen1
Tested on:
FreeBSD/32 6.2 (duty) in debug mode
FreeBSD/64 6.2 (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/default API=1.6.x, w/C++ & FORTRAN,
in production mode
Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN,
in production mode
Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN,
w/szip filter, in production mode
Mac OS X/32 10.4.10 (amazon) in debug mode
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)
Tested platform:
Kagiso only since it is only a comment block change. If it works in one
machine, it should work in all, I hope. Still need to check the parallel
build on copper.
Code cleanup
Description:
Trim trailing whitespace in Makefile.am and C/C++ source files to make
diffing changes easier.
Platforms tested:
None necessary, whitespace only change
Description: Yesterday, a definition of the macro YY_BUF_SIZE of 256KB
was committed in, but copper complained it can't be redefined.
Solution: Added #ifdef and #undef to make sure the macro is undefined
first. Also integrated a complicated compound type test. It reads
input from a text file. The datatype is unusually large, of 101 member
fields.
Platforms tested: h5committest and fuss.
Code cleanup
Description:
Big clean up on high-level library code, including:
- Removing include of HDF5 private header file(!)
- Reduce number of compiler warnings
- Untangle header files, etc.
Platforms tested:
FreeBSD 4.11 (sleipnir) w/C++
Linux 2.4/64 (mir) w/C++ & FORTRAN
new feature
Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h
Solution:
Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++
(one packet table example fails)
Misc. update:
Description: Revise a few details of H5LTtext_to_dtype() and H5LTdtype_to_text(),
1. changed the DDL definition of string, opaque, and compound types.
2. added a new parameter of H5LT_lang_t type to these two functions.
Platforms tested: h5committest and fuss.
Description: Renamed lex.yy.c to H5LTanalyze.c, y.tab.c to H5LTparse.c, and
y.tab.h to H5LTparse.h in hl/src. Changed definition of opaque type to ommit the tag.
Changed the test for opaque type in hl/test, too.
Platforms tested: h5committest, fuss, and sleipnir.
Misc. update: MANIFEST
Description: This is the second step of conversion between data type and
text, H5LTdtype_to_text().
Solution: Similar to h5dump, this function print the DDL description of
a data type into a string.
Platforms tested: h5committest and fuss.
Code cleanup
Description:
Fix a bunch of warnings flagged by Windows compilers.
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
Description: The g++ on sleipnir had troubles to compile the H5LTtext_to_dtype()
code.
Solution: Fixed problems at different places.
Platforms tested: h5committest and g++ on sleipnir.
Purpose: Minor bug fix
Description: Static function test_text_dtype() has static subroutines defined after itself. The gcc compiler on sleipnir complained.
Solution: put test_text_dtype() after subroutine's definition.
Platforms tested: sleipnir with gcc 4.0 where the complaints happened. Simple change.
Description: Adding the new function H5LTtext_to_dtype() for converting text description to data type.
The next step will be H5LTdtype_to_text().
Solution: Use Lex and Yacc to do parsing of the text. H5LTanalyze.l is the lexer for analyzing the
input; H5LTparse.y is the parser. They are not part of HL library, but are used to generate lex.yy.c
(from H5LTanalyze.l) as well as y.tab.c and y.tab.h (from H5LTparse.y). The tools used to create
these source files are GNU FLEX and YACC on a Linux machine (fuss). The commands are "lex H5LTanalyze.l"
and "yacc -d H5LTparse.y". Detailed document will be added later.
Platforms tested: h5committest and fuss.
Misc. update: MANIFEST
Code cleanup
Description:
Trim trailing whitespace, which is making 'diff'ing the two branches
difficult.
Solution:
Ran this script in each directory:
foreach f (*.[ch] *.cpp)
sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f
end
Platforms tested:
FreeBSD 4.11 (sleipnir)
Too minor to require h5committest
bug fix
Description:
the Makefile.in of the hl tests was not including a "srcdir" include path
the test table .c file was missing also the srcdir path
Solution:
add it
Platforms tested:
Misc. update:
insert high level library into main library
Description:
configure.in has a new entry (--enable-hl, disable-hl) it is on by default
the configure message prints info regarding if hl is enabled or not
the tree is
/hl
/hl/src
/hl/test
Solution:
Platforms tested:
linux
solaris
AIX
Misc. update: