From 6bc36a0c46a9864ae580ca43f00d3f4ec3e28147 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Wed, 21 Aug 2013 12:12:08 -0500 Subject: [svn-r24046] HDFFV-8500: set h5detect compile optimization to -O0 will generate correct H5Tinit.c file. Tested: local gcc 4.8.2 linux --- src/CMakeLists.txt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 74283fe..91872af 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -773,8 +773,13 @@ INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}) # Setup the H5Detect utility which generates H5Tinit with platform # specific type checks inside #----------------------------------------------------------------------------- +IF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + SET (LOCAL_OPT_FLAG "-O0") +ELSE (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + SET (LOCAL_OPT_FLAG " ") +ENDIF (CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) ADD_EXECUTABLE (H5detect ${HDF5_SRC_DIR}/H5detect.c) -TARGET_C_PROPERTIES (H5detect " " " ") +TARGET_C_PROPERTIES (H5detect ${LOCAL_OPT_FLAG} " ") IF (MSVC) TARGET_LINK_LIBRARIES (H5detect "ws2_32.lib") ENDIF (MSVC) -- cgit v0.12 From 8c14af82c61f50146a6c5646c2320a08d09dc32d Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Wed, 21 Aug 2013 15:59:49 -0500 Subject: [svn-r24050] HDFFV-8498: --minimum option was disabled by HDFFV-8214. Reverted code change and changed default to 0 from 1024. Changed limit test to use h5dump to compare repacked file instead of h5diff. Tested local linux with CMake --- MANIFEST | 1 + tools/h5repack/CMakeTests.cmake | 40 +++++++- tools/h5repack/h5repack.c | 2 +- tools/h5repack/h5repack_copy.c | 10 ++ tools/h5repack/h5repack_main.c | 2 +- tools/h5repack/testfiles/h5repack_layout.h5.ddl | 130 ++++++++++++++++++++++++ 6 files changed, 181 insertions(+), 4 deletions(-) create mode 100644 tools/h5repack/testfiles/h5repack_layout.h5.ddl diff --git a/MANIFEST b/MANIFEST index 9911380..a747476 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2115,6 +2115,7 @@ ./tools/h5repack/testfiles/h5repack_attr.h5 ./tools/h5repack/testfiles/h5repack_hlink.h5 ./tools/h5repack/testfiles/h5repack_layout.h5 +./tools/h5repack/testfiles/h5repack_layout.h5.ddl ./tools/h5repack/testfiles/h5repack_layouto.h5 ./tools/h5repack/testfiles/h5repack_layout2.h5 ./tools/h5repack/testfiles/h5repack_layout3.h5 diff --git a/tools/h5repack/CMakeTests.cmake b/tools/h5repack/CMakeTests.cmake index 79d75a7..0734220 100644 --- a/tools/h5repack/CMakeTests.cmake +++ b/tools/h5repack/CMakeTests.cmake @@ -82,6 +82,7 @@ ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_ext.bin ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/ublock.bin ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack.info + ${HDF5_TOOLS_H5REPACK_SOURCE_DIR}/testfiles/h5repack_layout.h5.ddl # tools/testfiles ${HDF5_TOOLS_SRC_DIR}/testfiles/h5repack_filters.h5.ddl ) @@ -163,7 +164,9 @@ ELSE (${testtype} STREQUAL "SKIP") # If using memchecker add tests without using scripts IF (HDF5_ENABLE_USING_MEMCHECKER) - ADD_TEST (NAME H5REPACK_CMP-${testname} COMMAND $ ${ARGN} testfiles/${resultfile} testfiles/out-${testname}.${resultfile}) + ADD_TEST ( + NAME H5REPACK_CMP-${testname} + COMMAND $ ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}) ELSE (HDF5_ENABLE_USING_MEMCHECKER) ADD_TEST ( NAME H5REPACK_CMP-${testname} @@ -184,6 +187,39 @@ ENDIF (${testtype} STREQUAL "SKIP") ENDMACRO (ADD_H5_CMP_TEST) + MACRO (ADD_H5_DMP_TEST testname testtype resultcode resultfile) + IF (${testtype} STREQUAL "SKIP") + IF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ADD_TEST ( + NAME H5REPACK_DMP-${testname}-SKIPPED + COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}" + ) + ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ELSE (${testtype} STREQUAL "SKIP") + # If using memchecker add tests without using scripts + ADD_TEST ( + NAME H5REPACK_DMP-${testname} + COMMAND $ ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}) + IF (NOT "${last_test}" STREQUAL "") + SET_TESTS_PROPERTIES (H5REPACK_DMP-${testname} PROPERTIES DEPENDS ${last_test}) + ENDIF (NOT "${last_test}" STREQUAL "") + IF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ADD_TEST ( + NAME H5REPACK_DMP-h5dump-${testname} + COMMAND "${CMAKE_COMMAND}" + -D "TEST_PROGRAM=$" + -D "TEST_ARGS:STRING=-pH;out-${testname}.${resultfile}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" + -D "TEST_OUTPUT=${resultfile}-${testname}.out" + -D "TEST_EXPECT=${resultcode}" + -D "TEST_REFERENCE=${resultfile}.ddl" + -P "${HDF5_RESOURCES_DIR}/runTest.cmake" + ) + SET_TESTS_PROPERTIES (H5REPACK_DMP-h5dump-${testname} PROPERTIES DEPENDS "H5REPACK_DMP-${testname}") + ENDIF (NOT HDF5_ENABLE_USING_MEMCHECKER) + ENDIF (${testtype} STREQUAL "SKIP") + ENDMACRO (ADD_H5_DMP_TEST) + MACRO (ADD_H5_VERIFY_TEST testname testtype resultcode testfile testdset testfilter) IF (${testtype} STREQUAL "SKIP") IF (NOT HDF5_ENABLE_USING_MEMCHECKER) @@ -768,7 +804,7 @@ IF (NOT USE_FILTER_DEFLATE) SET (TESTTYPE "SKIP") ENDIF (NOT USE_FILTER_DEFLATE) - ADD_H5_TEST (deflate_limit ${TESTTYPE} ${arg}) + ADD_H5_DMP_TEST (deflate_limit ${TESTTYPE} 0 ${arg}) #file SET (arg ${FILE4} -e ${INFO_FILE}) diff --git a/tools/h5repack/h5repack.c b/tools/h5repack/h5repack.c index 38a000a..d6437cf 100644 --- a/tools/h5repack/h5repack.c +++ b/tools/h5repack/h5repack.c @@ -93,7 +93,7 @@ h5repack_init(pack_opt_t *options, int verbose, H5F_file_space_type_t strategy, int k, n; HDmemset(options, 0, sizeof(pack_opt_t)); - options->min_comp = 1024; + options->min_comp = 0; options->verbose = verbose; options->layout_g = H5D_LAYOUT_ERROR; diff --git a/tools/h5repack/h5repack_copy.c b/tools/h5repack/h5repack_copy.c index f9dd334..02337fd 100644 --- a/tools/h5repack/h5repack_copy.c +++ b/tools/h5repack/h5repack_copy.c @@ -1017,6 +1017,16 @@ int do_copy_objects(hid_t fidin, /* get the storage size of the input dataset */ dsize_in=H5Dget_storage_size(dset_in); + /* check for small size datasets (less than 1k) except + * changing to COMPACT. For the reference, COMPACT is limited + * by size 64K by library. + */ + if (options->layout_g != H5D_COMPACT) + { + if ( size_dset < options->min_comp ) + apply_s=0; + } + /* apply the filter */ if (apply_s) { diff --git a/tools/h5repack/h5repack_main.c b/tools/h5repack/h5repack_main.c index 921b390..ff38068 100644 --- a/tools/h5repack/h5repack_main.c +++ b/tools/h5repack/h5repack_main.c @@ -180,7 +180,7 @@ static void usage(const char *prog) printf("\n"); - printf(" M - is an integer greater than 1, size of dataset in bytes (default is 1024) \n"); + printf(" M - is an integer greater than 1, size of dataset in bytes (default is 0) \n"); printf(" E - is a filename.\n"); printf(" S - is an integer\n"); printf(" U - is a filename.\n"); diff --git a/tools/h5repack/testfiles/h5repack_layout.h5.ddl b/tools/h5repack/testfiles/h5repack_layout.h5.ddl new file mode 100644 index 0000000..b8e7e68 --- /dev/null +++ b/tools/h5repack/testfiles/h5repack_layout.h5.ddl @@ -0,0 +1,130 @@ +HDF5 "out-deflate_limit.h5repack_layout.h5" { +GROUP "/" { + DATASET "dset1" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) } + STORAGE_LAYOUT { + CHUNKED ( 40, 20 ) + SIZE 1150 (2.783:1 COMPRESSION) + } + FILTERS { + COMPRESSION DEFLATE { LEVEL 1 } + } + FILLVALUE { + FILL_TIME H5D_FILL_TIME_IFSET + VALUE 0 + } + ALLOCATION_TIME { + H5D_ALLOC_TIME_INCR + } + } + DATASET "dset2" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) } + STORAGE_LAYOUT { + CHUNKED ( 40, 20 ) + SIZE 1150 (2.783:1 COMPRESSION) + } + FILTERS { + COMPRESSION DEFLATE { LEVEL 1 } + } + FILLVALUE { + FILL_TIME H5D_FILL_TIME_IFSET + VALUE 0 + } + ALLOCATION_TIME { + H5D_ALLOC_TIME_INCR + } + } + DATASET "dset3" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) } + STORAGE_LAYOUT { + CHUNKED ( 40, 20 ) + SIZE 1150 (2.783:1 COMPRESSION) + } + FILTERS { + COMPRESSION DEFLATE { LEVEL 1 } + } + FILLVALUE { + FILL_TIME H5D_FILL_TIME_IFSET + VALUE 0 + } + ALLOCATION_TIME { + H5D_ALLOC_TIME_INCR + } + } + DATASET "dset4" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) } + STORAGE_LAYOUT { + CHUNKED ( 40, 20 ) + SIZE 1150 (2.783:1 COMPRESSION) + } + FILTERS { + COMPRESSION DEFLATE { LEVEL 1 } + } + FILLVALUE { + FILL_TIME H5D_FILL_TIME_IFSET + VALUE 0 + } + ALLOCATION_TIME { + H5D_ALLOC_TIME_INCR + } + } + DATASET "dset_chunk" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 40, 20 ) / ( 40, H5S_UNLIMITED ) } + STORAGE_LAYOUT { + CHUNKED ( 20, 10 ) + SIZE 1283 (2.494:1 COMPRESSION) + } + FILTERS { + COMPRESSION DEFLATE { LEVEL 1 } + } + FILLVALUE { + FILL_TIME H5D_FILL_TIME_IFSET + VALUE 0 + } + ALLOCATION_TIME { + H5D_ALLOC_TIME_INCR + } + } + DATASET "dset_compact" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) } + STORAGE_LAYOUT { + CHUNKED ( 40, 20 ) + SIZE 1150 (2.783:1 COMPRESSION) + } + FILTERS { + COMPRESSION DEFLATE { LEVEL 1 } + } + FILLVALUE { + FILL_TIME H5D_FILL_TIME_IFSET + VALUE 0 + } + ALLOCATION_TIME { + H5D_ALLOC_TIME_INCR + } + } + DATASET "dset_contiguous" { + DATATYPE H5T_STD_I32LE + DATASPACE SIMPLE { ( 40, 20 ) / ( 40, 20 ) } + STORAGE_LAYOUT { + CHUNKED ( 40, 20 ) + SIZE 1150 (2.783:1 COMPRESSION) + } + FILTERS { + COMPRESSION DEFLATE { LEVEL 1 } + } + FILLVALUE { + FILL_TIME H5D_FILL_TIME_IFSET + VALUE 0 + } + ALLOCATION_TIME { + H5D_ALLOC_TIME_INCR + } + } +} +} -- cgit v0.12 From 13a0f5576acfcce93c7b8344f3dd34e8e562e71a Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Wed, 21 Aug 2013 17:11:32 -0500 Subject: [svn-r24053] HDFFV-8498: --minimum option was disabled by HDFFV-8214. Reverted code change and changed default to 0 from 1024. Changed limit test to use h5dump to compare repacked file instead of h5diff. Corrected test scripts for test folder path Tested: h5committest and local linux with CMake --- tools/h5repack/CMakeTests.cmake | 8 ++-- tools/h5repack/h5repack.sh.in | 53 ++++++++++++++++++++++++- tools/h5repack/testfiles/h5repack_layout.h5.ddl | 2 +- 3 files changed, 56 insertions(+), 7 deletions(-) diff --git a/tools/h5repack/CMakeTests.cmake b/tools/h5repack/CMakeTests.cmake index 0734220..c27aaa0 100644 --- a/tools/h5repack/CMakeTests.cmake +++ b/tools/h5repack/CMakeTests.cmake @@ -208,11 +208,11 @@ NAME H5REPACK_DMP-h5dump-${testname} COMMAND "${CMAKE_COMMAND}" -D "TEST_PROGRAM=$" - -D "TEST_ARGS:STRING=-pH;out-${testname}.${resultfile}" - -D "TEST_FOLDER=${PROJECT_BINARY_DIR}/testfiles" - -D "TEST_OUTPUT=${resultfile}-${testname}.out" + -D "TEST_ARGS:STRING=-pH;./testfiles/out-${testname}.${resultfile}" + -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" + -D "TEST_OUTPUT=./testfiles/${resultfile}-${testname}.out" -D "TEST_EXPECT=${resultcode}" - -D "TEST_REFERENCE=${resultfile}.ddl" + -D "TEST_REFERENCE=testfiles/${resultfile}.ddl" -P "${HDF5_RESOURCES_DIR}/runTest.cmake" ) SET_TESTS_PROPERTIES (H5REPACK_DMP-h5dump-${testname} PROPERTIES DEPENDS "H5REPACK_DMP-${testname}") diff --git a/tools/h5repack/h5repack.sh.in b/tools/h5repack/h5repack.sh.in index ca25183..42b8ecb 100644 --- a/tools/h5repack/h5repack.sh.in +++ b/tools/h5repack/h5repack.sh.in @@ -120,6 +120,7 @@ LIST_OTHER_TEST_FILES=" $SRC_H5REPACK_TESTFILES/h5repack_ext.bin $SRC_H5REPACK_TESTFILES/ublock.bin $SRC_H5REPACK_TESTFILES/h5repack.info +$SRC_H5REPACK_TESTFILES/h5repack_layout.h5.ddl $SRC_TOOLS_TESTFILES/h5repack_filters.h5.ddl " @@ -201,7 +202,7 @@ DIFFTEST() fi } - + # Call h5repack # @@ -475,6 +476,54 @@ TOOLTESTV() rm -f $actual $actual_err rm -f $outfile } + +# This is same as TOOLTESTV() with comparing h5dump output +# from -pH option +# +TOOLTEST_DUMP() +{ + infile=$TESTDIR/$2 + outfile=$TESTDIR/out-$1.$2 + expect="$TESTDIR/$2.ddl" + actual="$TESTDIR/out-$1.$2.out" + actual_err="$TESTDIR/out-$1.$2.err" + + shift + shift + + # Run test. + TESTING $H5REPACK $@ + ( + $RUNSERIAL $H5REPACK_BIN "$@" $infile $outfile + ) >$actual 2>$actual_err + RET=$? + if [ $RET != 0 ] ; then + echo "*FAILED*" + nerrors="`expr $nerrors + 1`" + else + echo " PASSED" + VERIFY h5dump output $@ + ( + $RUNSERIAL $H5DUMP_BIN -pH $outfile + ) >$actual 2>$actual_err + cat $actual_err >> $actual + + RET=$? + + fi + + if cmp -s $expect $actual; then + echo " PASSED" + else + echo "*FAILED*" + echo " Expected result (*.ddl) differs from actual result (*.out)" + nerrors="`expr $nerrors + 1`" + test yes = "$verbose" && diff -c $expect $actual |sed 's/^/ /' + fi + + rm -f $actual $actual_err + rm -f $outfile +} # TOOLTEST_META: # Test metadata block size option. @@ -820,7 +869,7 @@ arg="h5repack_layout.h5 -f GZIP=1 -m 1024" if test $USE_FILTER_DEFLATE != "yes" ; then SKIP $arg else - TOOLTEST deflate_limit $arg + TOOLTEST_DUMP deflate_limit $arg fi #file diff --git a/tools/h5repack/testfiles/h5repack_layout.h5.ddl b/tools/h5repack/testfiles/h5repack_layout.h5.ddl index b8e7e68..d380201 100644 --- a/tools/h5repack/testfiles/h5repack_layout.h5.ddl +++ b/tools/h5repack/testfiles/h5repack_layout.h5.ddl @@ -1,4 +1,4 @@ -HDF5 "out-deflate_limit.h5repack_layout.h5" { +HDF5 "./testfiles/out-deflate_limit.h5repack_layout.h5" { GROUP "/" { DATASET "dset1" { DATATYPE H5T_STD_I32LE -- cgit v0.12 From ff00749dfc4655281ac8d5347f03234610058caf Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 22 Aug 2013 13:16:27 -0500 Subject: [svn-r24055] Move make_executable commands back from tests file --- test/CMakeLists.txt | 35 +++++++++++++++++++++++++++++++++++ test/CMakeTests.cmake | 35 ----------------------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 84bc114..cd07d40 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -120,4 +120,39 @@ IF (BUILD_SHARED_LIBS) ENDFOREACH (test_lib ${TEST2_PLUGIN_LIBS}) ENDIF (BUILD_SHARED_LIBS) +SET (testhdf5_SRCS + ${HDF5_TEST_SOURCE_DIR}/testhdf5.c + ${HDF5_TEST_SOURCE_DIR}/tarray.c + ${HDF5_TEST_SOURCE_DIR}/tattr.c + ${HDF5_TEST_SOURCE_DIR}/tchecksum.c + ${HDF5_TEST_SOURCE_DIR}/tconfig.c + ${HDF5_TEST_SOURCE_DIR}/tcoords.c + ${HDF5_TEST_SOURCE_DIR}/tfile.c + ${HDF5_TEST_SOURCE_DIR}/tgenprop.c + ${HDF5_TEST_SOURCE_DIR}/th5o.c + ${HDF5_TEST_SOURCE_DIR}/th5s.c + ${HDF5_TEST_SOURCE_DIR}/theap.c + ${HDF5_TEST_SOURCE_DIR}/tid.c + ${HDF5_TEST_SOURCE_DIR}/titerate.c + ${HDF5_TEST_SOURCE_DIR}/tmeta.c + ${HDF5_TEST_SOURCE_DIR}/tmisc.c + ${HDF5_TEST_SOURCE_DIR}/trefer.c + ${HDF5_TEST_SOURCE_DIR}/trefstr.c + ${HDF5_TEST_SOURCE_DIR}/tselect.c + ${HDF5_TEST_SOURCE_DIR}/tskiplist.c + ${HDF5_TEST_SOURCE_DIR}/tsohm.c + ${HDF5_TEST_SOURCE_DIR}/ttime.c + ${HDF5_TEST_SOURCE_DIR}/ttst.c + ${HDF5_TEST_SOURCE_DIR}/tunicode.c + ${HDF5_TEST_SOURCE_DIR}/tvltypes.c + ${HDF5_TEST_SOURCE_DIR}/tvlstr.c +) + +#-- Adding test for testhdf5 +ADD_EXECUTABLE (testhdf5 ${testhdf5_SRCS}) +TARGET_NAMING (testhdf5 ${LIB_TYPE}) +TARGET_C_PROPERTIES (testhdf5 " " " ") +TARGET_LINK_LIBRARIES (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET}) +SET_TARGET_PROPERTIES (testhdf5 PROPERTIES FOLDER test) + INCLUDE (CMakeTests.cmake) diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake index 2f48bbe..0a80f44 100644 --- a/test/CMakeTests.cmake +++ b/test/CMakeTests.cmake @@ -136,41 +136,6 @@ FOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES}) ) ENDFOREACH (h5_file ${HDF5_REFERENCE_TEST_FILES}) -SET (testhdf5_SRCS - ${HDF5_TEST_SOURCE_DIR}/testhdf5.c - ${HDF5_TEST_SOURCE_DIR}/tarray.c - ${HDF5_TEST_SOURCE_DIR}/tattr.c - ${HDF5_TEST_SOURCE_DIR}/tchecksum.c - ${HDF5_TEST_SOURCE_DIR}/tconfig.c - ${HDF5_TEST_SOURCE_DIR}/tcoords.c - ${HDF5_TEST_SOURCE_DIR}/tfile.c - ${HDF5_TEST_SOURCE_DIR}/tgenprop.c - ${HDF5_TEST_SOURCE_DIR}/th5o.c - ${HDF5_TEST_SOURCE_DIR}/th5s.c - ${HDF5_TEST_SOURCE_DIR}/theap.c - ${HDF5_TEST_SOURCE_DIR}/tid.c - ${HDF5_TEST_SOURCE_DIR}/titerate.c - ${HDF5_TEST_SOURCE_DIR}/tmeta.c - ${HDF5_TEST_SOURCE_DIR}/tmisc.c - ${HDF5_TEST_SOURCE_DIR}/trefer.c - ${HDF5_TEST_SOURCE_DIR}/trefstr.c - ${HDF5_TEST_SOURCE_DIR}/tselect.c - ${HDF5_TEST_SOURCE_DIR}/tskiplist.c - ${HDF5_TEST_SOURCE_DIR}/tsohm.c - ${HDF5_TEST_SOURCE_DIR}/ttime.c - ${HDF5_TEST_SOURCE_DIR}/ttst.c - ${HDF5_TEST_SOURCE_DIR}/tunicode.c - ${HDF5_TEST_SOURCE_DIR}/tvltypes.c - ${HDF5_TEST_SOURCE_DIR}/tvlstr.c -) - -#-- Adding test for testhdf5 -ADD_EXECUTABLE (testhdf5 ${testhdf5_SRCS}) -TARGET_NAMING (testhdf5 ${LIB_TYPE}) -TARGET_C_PROPERTIES (testhdf5 " " " ") -TARGET_LINK_LIBRARIES (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET}) -SET_TARGET_PROPERTIES (testhdf5 PROPERTIES FOLDER test) - # Remove any output file left over from previous test run ADD_TEST ( NAME h5test-clear-testhdf5-objects -- cgit v0.12 From 7e0bc290129ac8b90a43b563294db4e7eb359078 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 22 Aug 2013 13:41:25 -0500 Subject: [svn-r24056] Move make_executable commands back from tests file --- test/CMakeLists.txt | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++ test/CMakeTests.cmake | 133 +------------------------------------------ 2 files changed, 156 insertions(+), 132 deletions(-) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index cd07d40..2704f0c 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -155,4 +155,159 @@ TARGET_C_PROPERTIES (testhdf5 " " " ") TARGET_LINK_LIBRARIES (testhdf5 ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET}) SET_TARGET_PROPERTIES (testhdf5 PROPERTIES FOLDER test) +MACRO (ADD_H5_EXE file) + ADD_EXECUTABLE (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c) + TARGET_NAMING (${file} ${LIB_TYPE}) + TARGET_C_PROPERTIES (${file} " " " ") + TARGET_LINK_LIBRARIES (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET}) + SET_TARGET_PROPERTIES (${file} PROPERTIES FOLDER test) +ENDMACRO (ADD_H5_EXE file) + +SET (H5_TESTS + accum + lheap + ohdr + stab + gheap + #cache + #cache_api + #cache_tagging + pool + hyperslab + istore + bittests + dt_arith + dtypes + cmpd_dset + filter_fail + extend + external + efc + objcopy + links + unlink + big + mtime + fillval + mount + flush1 + flush2 + app_ref + enum + set_extent + #ttsafe + getname + vfd + ntypes + dangle + dtransform + reserved + cross_read + freespace + mf + farray + earray + btree2 + fheap + #error_test + #err_compat + tcheck_version + testmeta + #links_env + file_image + enc_dec_plist + enc_dec_plist_with_endianess + unregister +) + +FOREACH (test ${H5_TESTS}) + ADD_H5_EXE(${test}) +ENDFOREACH (test ${H5_TESTS}) + +############################################################################## +############################################################################## +### A D D I T I O N A L T E S T S ### +############################################################################## +############################################################################## + +#-- Adding test for cache +ADD_EXECUTABLE (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c) +TARGET_NAMING (cache ${LIB_TYPE}) +TARGET_C_PROPERTIES (cache " " " ") +TARGET_LINK_LIBRARIES (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) +SET_TARGET_PROPERTIES (cache PROPERTIES FOLDER test) + +#-- Adding test for cache_api +ADD_EXECUTABLE (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c) +TARGET_NAMING (cache_api ${LIB_TYPE}) +TARGET_C_PROPERTIES (cache_api " " " ") +TARGET_LINK_LIBRARIES (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) +SET_TARGET_PROPERTIES (cache_api PROPERTIES FOLDER test) + +#-- Adding test for cache_tagging +ADD_EXECUTABLE (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c) +TARGET_NAMING (cache_tagging ${LIB_TYPE}) +TARGET_C_PROPERTIES (cache_tagging " " " ") +TARGET_LINK_LIBRARIES (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) +SET_TARGET_PROPERTIES (cache_tagging PROPERTIES FOLDER test) + +#-- Adding test for ttsafe +ADD_EXECUTABLE (ttsafe + ${HDF5_TEST_SOURCE_DIR}/ttsafe.c + ${HDF5_TEST_SOURCE_DIR}/ttsafe_dcreate.c + ${HDF5_TEST_SOURCE_DIR}/ttsafe_error.c + ${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c + ${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c +) +TARGET_NAMING (ttsafe ${LIB_TYPE}) +TARGET_C_PROPERTIES (ttsafe " " " ") +TARGET_LINK_LIBRARIES (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) +SET_TARGET_PROPERTIES (ttsafe PROPERTIES FOLDER test) + +#-- Adding test for err_compat +IF (HDF5_ENABLE_DEPRECATED_SYMBOLS) + ADD_EXECUTABLE (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c) + TARGET_NAMING (err_compat ${LIB_TYPE}) + TARGET_C_PROPERTIES (err_compat " " " ") + TARGET_LINK_LIBRARIES (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) + SET_TARGET_PROPERTIES (err_compat PROPERTIES FOLDER test) +ENDIF (HDF5_ENABLE_DEPRECATED_SYMBOLS) + +#-- Adding test for error_test +ADD_EXECUTABLE (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c) +TARGET_NAMING (error_test ${LIB_TYPE}) +TARGET_C_PROPERTIES (error_test " " " ") +TARGET_LINK_LIBRARIES (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) +SET_TARGET_PROPERTIES (error_test PROPERTIES FOLDER test) + +#-- Adding test for links_env +ADD_EXECUTABLE (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c) +TARGET_NAMING (links_env ${LIB_TYPE}) +TARGET_C_PROPERTIES (links_env " " " ") +TARGET_LINK_LIBRARIES (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) +SET_TARGET_PROPERTIES (links_env PROPERTIES FOLDER test) + +#-- Adding test for libinfo +SET (GREP_RUNNER ${PROJECT_BINARY_DIR}/GrepRunner.cmake) +FILE (WRITE ${GREP_RUNNER} + "FILE (STRINGS \${TEST_PROGRAM} TEST_RESULT REGEX \"SUMMARY OF THE HDF5 CONFIGURATION\") +IF (\${TEST_RESULT} STREQUAL \"0\") + MESSAGE (FATAL_ERROR \"Failed: The output: \${TEST_RESULT} of \${TEST_PROGRAM} did not contain SUMMARY OF THE HDF5 CONFIGURATION\") +ELSE (\${TEST_RESULT} STREQUAL \"0\") + MESSAGE (STATUS \"COMMAND Result: \${TEST_RESULT}\") +ENDIF (\${TEST_RESULT} STREQUAL \"0\") +" +) + +############################################################################## +### P L U G I N T E S T S +############################################################################## +IF (BUILD_SHARED_LIBS) + ADD_EXECUTABLE (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c) + TARGET_NAMING (plugin ${LIB_TYPE}) + TARGET_C_PROPERTIES (plugin " " " ") + TARGET_LINK_LIBRARIES (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET}) + SET_TARGET_PROPERTIES (plugin PROPERTIES FOLDER test) +ENDIF (BUILD_SHARED_LIBS) + INCLUDE (CMakeTests.cmake) diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake index 0a80f44..b64eeca 100644 --- a/test/CMakeTests.cmake +++ b/test/CMakeTests.cmake @@ -182,16 +182,6 @@ ENDIF (HDF5_ENABLE_USING_MEMCHECKER) ############################################################################## ############################################################################## -MACRO (ADD_H5_TEST file) - ADD_EXECUTABLE (${file} ${HDF5_TEST_SOURCE_DIR}/${file}.c) - TARGET_NAMING (${file} ${LIB_TYPE}) - TARGET_C_PROPERTIES (${file} " " " ") - TARGET_LINK_LIBRARIES (${file} ${HDF5_TEST_LIB_TARGET} ${HDF5_LIB_TARGET}) - SET_TARGET_PROPERTIES (${file} PROPERTIES FOLDER test) - - ADD_TEST (NAME ${file} COMMAND $) -ENDMACRO (ADD_H5_TEST file) - # Remove any output file left over from previous test run ADD_TEST ( NAME h5test-clear-objects @@ -256,65 +246,8 @@ ADD_TEST ( unregister_filter_2.h5 ) -SET (H5_TESTS - accum - lheap - ohdr - stab - gheap - #cache - #cache_api - #cache_tagging - pool - hyperslab - istore - bittests - dt_arith - dtypes - cmpd_dset - filter_fail - extend - external - efc - objcopy - links - unlink - big - mtime - fillval - mount - flush1 - flush2 - app_ref - enum - set_extent - #ttsafe - getname - vfd - ntypes - dangle - dtransform - reserved - cross_read - freespace - mf - farray - earray - btree2 - fheap - #error_test - #err_compat - tcheck_version - testmeta - #links_env - file_image - enc_dec_plist - enc_dec_plist_with_endianess - unregister -) - FOREACH (test ${H5_TESTS}) - ADD_H5_TEST(${test}) + ADD_TEST (NAME ${test} COMMAND $) SET_TESTS_PROPERTIES(${test} PROPERTIES DEPENDS h5test-clear-objects) ENDFOREACH (test ${H5_TESTS}) @@ -327,11 +260,6 @@ SET_TESTS_PROPERTIES(flush2 PROPERTIES DEPENDS flush1) ############################################################################## #-- Adding test for cache -ADD_EXECUTABLE (cache ${HDF5_TEST_SOURCE_DIR}/cache.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c) -TARGET_NAMING (cache ${LIB_TYPE}) -TARGET_C_PROPERTIES (cache " " " ") -TARGET_LINK_LIBRARIES (cache ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) -SET_TARGET_PROPERTIES (cache PROPERTIES FOLDER test) ADD_TEST ( NAME h5test-clear-cache-objects COMMAND ${CMAKE_COMMAND} @@ -342,12 +270,6 @@ ADD_TEST (NAME cache COMMAND $) SET_TESTS_PROPERTIES(cache PROPERTIES DEPENDS h5test-clear-cache-objects) #-- Adding test for cache_api -ADD_EXECUTABLE (cache_api ${HDF5_TEST_SOURCE_DIR}/cache_api.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c) -TARGET_NAMING (cache_api ${LIB_TYPE}) -TARGET_C_PROPERTIES (cache_api " " " ") -TARGET_LINK_LIBRARIES (cache_api ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) -SET_TARGET_PROPERTIES (cache_api PROPERTIES FOLDER test) - ADD_TEST ( NAME h5test-clear-cache_api-objects COMMAND ${CMAKE_COMMAND} @@ -358,12 +280,6 @@ ADD_TEST (NAME cache_api COMMAND $) SET_TESTS_PROPERTIES(cache_api PROPERTIES DEPENDS h5test-clear-cache_api-objects) #-- Adding test for cache_tagging -ADD_EXECUTABLE (cache_tagging ${HDF5_TEST_SOURCE_DIR}/cache_tagging.c ${HDF5_TEST_SOURCE_DIR}/cache_common.c) -TARGET_NAMING (cache_tagging ${LIB_TYPE}) -TARGET_C_PROPERTIES (cache_tagging " " " ") -TARGET_LINK_LIBRARIES (cache_tagging ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) -SET_TARGET_PROPERTIES (cache_tagging PROPERTIES FOLDER test) - ADD_TEST ( NAME h5test-clear-cache_tagging-objects COMMAND ${CMAKE_COMMAND} @@ -375,18 +291,6 @@ ADD_TEST (NAME cache_tagging COMMAND $) SET_TESTS_PROPERTIES(cache_tagging PROPERTIES DEPENDS h5test-clear-cache_tagging-objects) #-- Adding test for ttsafe -ADD_EXECUTABLE (ttsafe - ${HDF5_TEST_SOURCE_DIR}/ttsafe.c - ${HDF5_TEST_SOURCE_DIR}/ttsafe_dcreate.c - ${HDF5_TEST_SOURCE_DIR}/ttsafe_error.c - ${HDF5_TEST_SOURCE_DIR}/ttsafe_cancel.c - ${HDF5_TEST_SOURCE_DIR}/ttsafe_acreate.c -) -TARGET_NAMING (ttsafe ${LIB_TYPE}) -TARGET_C_PROPERTIES (ttsafe " " " ") -TARGET_LINK_LIBRARIES (ttsafe ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) -SET_TARGET_PROPERTIES (ttsafe PROPERTIES FOLDER test) - ADD_TEST ( NAME h5test-clear-ttsafe-objects COMMAND ${CMAKE_COMMAND} @@ -401,12 +305,6 @@ SET_TESTS_PROPERTIES(ttsafe PROPERTIES DEPENDS h5test-clear-ttsafe-objects) #-- Adding test for err_compat IF (HDF5_ENABLE_DEPRECATED_SYMBOLS) - ADD_EXECUTABLE (err_compat ${HDF5_TEST_SOURCE_DIR}/err_compat.c) - TARGET_NAMING (err_compat ${LIB_TYPE}) - TARGET_C_PROPERTIES (err_compat " " " ") - TARGET_LINK_LIBRARIES (err_compat ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) - SET_TARGET_PROPERTIES (err_compat PROPERTIES FOLDER test) - ADD_TEST ( NAME h5test-clear-err_compat-objects COMMAND ${CMAKE_COMMAND} @@ -428,12 +326,6 @@ IF (HDF5_ENABLE_DEPRECATED_SYMBOLS) ENDIF (HDF5_ENABLE_DEPRECATED_SYMBOLS) #-- Adding test for error_test -ADD_EXECUTABLE (error_test ${HDF5_TEST_SOURCE_DIR}/error_test.c) -TARGET_NAMING (error_test ${LIB_TYPE}) -TARGET_C_PROPERTIES (error_test " " " ") -TARGET_LINK_LIBRARIES (error_test ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) -SET_TARGET_PROPERTIES (error_test PROPERTIES FOLDER test) - ADD_TEST ( NAME h5test-clear-error_test-objects COMMAND ${CMAKE_COMMAND} @@ -455,12 +347,6 @@ SET_TESTS_PROPERTIES(error_test PROPERTIES DEPENDS h5test-clear-error_test-objec SET_TESTS_PROPERTIES (error_test PROPERTIES ENVIRONMENT "HDF5_PLUGIN_PRELOAD=::") #-- Adding test for links_env -ADD_EXECUTABLE (links_env ${HDF5_TEST_SOURCE_DIR}/links_env.c) -TARGET_NAMING (links_env ${LIB_TYPE}) -TARGET_C_PROPERTIES (links_env " " " ") -TARGET_LINK_LIBRARIES (links_env ${HDF5_LIB_TARGET} ${HDF5_TEST_LIB_TARGET}) -SET_TARGET_PROPERTIES (links_env PROPERTIES FOLDER test) - ADD_TEST ( NAME h5test-clear-links_env-objects COMMAND ${CMAKE_COMMAND} @@ -485,17 +371,6 @@ ADD_TEST (NAME links_env COMMAND "${CMAKE_COMMAND}" SET_TESTS_PROPERTIES(links_env PROPERTIES DEPENDS h5test-clear-links_env-objects) #-- Adding test for libinfo -SET (GREP_RUNNER ${PROJECT_BINARY_DIR}/GrepRunner.cmake) -FILE (WRITE ${GREP_RUNNER} - "FILE (STRINGS \${TEST_PROGRAM} TEST_RESULT REGEX \"SUMMARY OF THE HDF5 CONFIGURATION\") -IF (\${TEST_RESULT} STREQUAL \"0\") - MESSAGE (FATAL_ERROR \"Failed: The output: \${TEST_RESULT} of \${TEST_PROGRAM} did not contain SUMMARY OF THE HDF5 CONFIGURATION\") -ELSE (\${TEST_RESULT} STREQUAL \"0\") - MESSAGE (STATUS \"COMMAND Result: \${TEST_RESULT}\") -ENDIF (\${TEST_RESULT} STREQUAL \"0\") -" -) - ADD_TEST (NAME testlibinfo COMMAND ${CMAKE_COMMAND} -D "TEST_PROGRAM=$" -P "${GREP_RUNNER}") ############################################################################## @@ -509,12 +384,6 @@ IF (BUILD_SHARED_LIBS) SET(CMAKE_SEP ":") ENDIF(WIN32 AND NOT CYGWIN) - ADD_EXECUTABLE (plugin ${HDF5_TEST_SOURCE_DIR}/plugin.c) - TARGET_NAMING (plugin ${LIB_TYPE}) - TARGET_C_PROPERTIES (plugin " " " ") - TARGET_LINK_LIBRARIES (plugin ${HDF5_TEST_PLUGIN_LIB_TARGET}) - SET_TARGET_PROPERTIES (plugin PROPERTIES FOLDER test) - ADD_TEST (NAME H5PLUGIN-plugin COMMAND $) SET_TESTS_PROPERTIES (H5PLUGIN-plugin PROPERTIES ENVIRONMENT "HDF5_PLUGIN_PATH=${CMAKE_BINARY_DIR}/testdir1${CMAKE_SEP}${CMAKE_BINARY_DIR}/testdir2") ELSE (BUILD_SHARED_LIBS) -- cgit v0.12 From e86655bbf4e707ba93406022350f15688f85c0d7 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 22 Aug 2013 14:57:31 -0500 Subject: [svn-r24057] Add --superblock long name to parser and add tests for both --boot-block and --superblock. Tested: local linux --- MANIFEST | 133 +++++++++++++++++++++--------------------- tools/h5dump/CMakeTests.cmake | 8 +++ tools/h5dump/h5dump.c | 1 + tools/h5dump/testh5dump.sh.in | 4 ++ tools/testfiles/tboot2A.ddl | 20 +++++++ tools/testfiles/tboot2B.ddl | 20 +++++++ 6 files changed, 121 insertions(+), 65 deletions(-) create mode 100644 tools/testfiles/tboot2A.ddl create mode 100644 tools/testfiles/tboot2B.ddl diff --git a/MANIFEST b/MANIFEST index a747476..bd382f9 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1318,7 +1318,6 @@ ./tools/misc/testfiles/h5mkgrp_version.txt.in ./tools/misc/h5perf_gentest.c - # h5stat sources ./tools/h5stat/Makefile.am ./tools/h5stat/Makefile.in @@ -1384,14 +1383,18 @@ ./tools/testfiles/family_file00015.h5 ./tools/testfiles/family_file00016.h5 ./tools/testfiles/family_file00017.h5 -./tools/testfiles/filter_fail.h5 -./tools/testfiles/filter_fail.ddl -./tools/testfiles/packedbits.ddl ./tools/testfiles/file_space.h5 ./tools/testfiles/file_space.ddl +./tools/testfiles/filter_fail.h5 +./tools/testfiles/filter_fail.ddl ./tools/testfiles/h5dump-help.txt +./tools/testfiles/packedbits.ddl +./tools/testfiles/taindices.h5 ./tools/testfiles/tall-1.ddl ./tools/testfiles/tall-2.ddl +./tools/testfiles/tall-2A.ddl +./tools/testfiles/tall-2A0.ddl +./tools/testfiles/tall-2B.ddl ./tools/testfiles/tall-3.ddl ./tools/testfiles/tall-4s.ddl ./tools/testfiles/tall-5s.ddl @@ -1400,6 +1403,7 @@ ./tools/testfiles/tall-7.ddl ./tools/testfiles/tall-7N.ddl ./tools/testfiles/tall.h5 +./tools/testfiles/tallfilters.ddl ./tools/testfiles/tarray1.ddl ./tools/testfiles/tarray1.h5 ./tools/testfiles/tarray1_big.ddl @@ -1418,22 +1422,40 @@ ./tools/testfiles/tarray7.h5 ./tools/testfiles/tarray8.ddl ./tools/testfiles/tarray8.h5 +./tools/testfiles/tattr.h5 ./tools/testfiles/tattr-1.ddl ./tools/testfiles/tattr-2.ddl ./tools/testfiles/tattr-3.ddl ./tools/testfiles/tattr-4_be.ddl -./tools/testfiles/tattr.h5 +./tools/testfiles/tattr2.h5 +./tools/testfiles/tattr4_be.h5 +./tools/testfiles/tattrcontents1.ddl +./tools/testfiles/tattrcontents2.ddl ./tools/testfiles/tattrintsize.ddl ./tools/testfiles/tattrintsize.h5 -./tools/testfiles/tattr4_be.h5 ./tools/testfiles/tattrreg.h5 ./tools/testfiles/tattrreg.ddl ./tools/testfiles/tattrregR.ddl +./tools/testfiles/tbigdims.ddl +./tools/testfiles/tbigdims.h5 +./tools/testfiles/tbinary.h5 +./tools/testfiles/tbin1.ddl +./tools/testfiles/tbin2.ddl +./tools/testfiles/tbin3.ddl +./tools/testfiles/tbin4.ddl ./tools/testfiles/tbinregR.exp ./tools/testfiles/tbinregR.ddl ./tools/testfiles/tbitfields.h5 +./tools/testfiles/tboot1.ddl +./tools/testfiles/tboot2.ddl +./tools/testfiles/tboot2A.ddl +./tools/testfiles/tboot2B.ddl ./tools/testfiles/tchar.h5 ./tools/testfiles/tchar1.ddl +./tools/testfiles/tchunked.ddl +./tools/testfiles/tcompact.ddl +./tools/testfiles/tcontents.ddl +./tools/testfiles/tcontiguos.ddl ./tools/testfiles/tcmpdattrintsize.ddl ./tools/testfiles/tcmpdintsize.ddl ./tools/testfiles/tcmpdattrintsize.h5 @@ -1448,6 +1470,7 @@ ./tools/testfiles/tdatareg.h5 ./tools/testfiles/tdatareg.ddl ./tools/testfiles/tdataregR.ddl +./tools/testfiles/tdeflate.ddl ./tools/testfiles/tdset-1.ddl ./tools/testfiles/tdset-2.ddl ./tools/testfiles/tdset-3s.ddl @@ -1460,6 +1483,7 @@ ./tools/testfiles/texceedsubcount.ddl ./tools/testfiles/texceedsubstart.ddl ./tools/testfiles/texceedsubstride.ddl +./tools/testfiles/texternal.ddl ./tools/testfiles/textlink.h5 ./tools/testfiles/textlink.h5.xml ./tools/testfiles/textlink.ddl @@ -1468,7 +1492,6 @@ ./tools/testfiles/textlinksrc.ddl ./tools/testfiles/textlinksrc.h5 ./tools/testfiles/textlinktar.h5 -./tools/testfiles/tsoftlinks.h5 ./tools/testfiles/tfamily.ddl ./tools/testfiles/tfamily00000.h5 ./tools/testfiles/tfamily00001.h5 @@ -1481,6 +1504,12 @@ ./tools/testfiles/tfamily00008.h5 ./tools/testfiles/tfamily00009.h5 ./tools/testfiles/tfamily00010.h5 +./tools/testfiles/tfcontents1.h5 +./tools/testfiles/tfcontents2.h5 +./tools/testfiles/tfill.ddl +./tools/testfiles/tfilters.h5 +./tools/testfiles/tfletcher32.ddl +./tools/testfiles/tfvalues.h5 ./tools/testfiles/tgroup-1.ddl ./tools/testfiles/tgroup-2.ddl ./tools/testfiles/tgroup.h5 @@ -1493,8 +1522,17 @@ ./tools/testfiles/thlink-4.ddl ./tools/testfiles/thlink-5.ddl ./tools/testfiles/thlink.h5 +./tools/testfiles/thyperslab.ddl +./tools/testfiles/thyperslab.h5 +./tools/testfiles/tindicesyes.ddl +./tools/testfiles/tindicesno.ddl +./tools/testfiles/tindicessub2.ddl +./tools/testfiles/tindicessub3.ddl +./tools/testfiles/tindicessub4.ddl +./tools/testfiles/tindicessub1.ddl ./tools/testfiles/tlarge_objname.ddl ./tools/testfiles/tlarge_objname.h5 +./tools/testfiles/tldouble.h5 ./tools/testfiles/tlonglinks.ddl ./tools/testfiles/tlonglinks.h5 ./tools/testfiles/tloop-1.ddl @@ -1510,8 +1548,6 @@ ./tools/testfiles/tmulti-s.h5 ./tools/testfiles/tmultifile.ls ./tools/testfiles/tmultifile.ddl -./tools/testfiles/tqmarkfile.ddl -./tools/testfiles/tstarfile.ddl ./tools/testfiles/tnbit.ddl ./tools/testfiles/tnestcomp-1.ddl ./tools/testfiles/tnestedcomp.h5 @@ -1529,10 +1565,17 @@ ./tools/testfiles/tnullspace.ddl ./tools/testfiles/tobjref.h5 ./tools/testfiles/topaque.h5 +./tools/testfiles/tordercontents1.ddl +./tools/testfiles/tordercontents2.ddl +./tools/testfiles/torderlinks1.ddl +./tools/testfiles/torderlinks2.ddl +./tools/testfiles/tperror.ddl +./tools/testfiles/tqmarkfile.ddl ./tools/testfiles/trawdatafile.ddl ./tools/testfiles/trawdatafile.exp ./tools/testfiles/trawssetfile.ddl ./tools/testfiles/trawssetfile.exp +./tools/testfiles/treference.ddl ./tools/testfiles/tsaf.ddl ./tools/testfiles/tsaf.h5 ./tools/testfiles/tscalarattrintsize.ddl @@ -1542,19 +1585,32 @@ ./tools/testfiles/tscalarstring.ddl ./tools/testfiles/tscalarstring.h5 ./tools/testfiles/tscaleoffset.ddl +./tools/testfiles/tshuffle.ddl ./tools/testfiles/tslink-1.ddl ./tools/testfiles/tslink-2.ddl ./tools/testfiles/tslink-D.ddl ./tools/testfiles/tslink.h5 +./tools/testfiles/tsoftlinks.h5 ./tools/testfiles/tsplit_file-m.h5 ./tools/testfiles/tsplit_file-r.h5 ./tools/testfiles/tsplit_file.ddl -./tools/testfiles/tstr-1.ddl +./tools/testfiles/tstarfile.ddl ./tools/testfiles/tstr.h5 ./tools/testfiles/tstr2.h5 +./tools/testfiles/tstr3.h5 +./tools/testfiles/tstr-1.ddl ./tools/testfiles/tstr-2.ddl ./tools/testfiles/tstr2bin2.exp ./tools/testfiles/tstr2bin6.exp +./tools/testfiles/tstring.ddl +./tools/testfiles/tstring2.ddl +./tools/testfiles/tstringe.ddl +./tools/testfiles/tszip.ddl +./tools/testfiles/tudlink.h5 +./tools/testfiles/tudlink.h5.xml +./tools/testfiles/tudlink-1.ddl +./tools/testfiles/tudlink-2.ddl +./tools/testfiles/tuserfilter.ddl ./tools/testfiles/tvldtypes1.ddl ./tools/testfiles/tvldtypes1.h5 ./tools/testfiles/tvldtypes2.ddl @@ -1567,63 +1623,8 @@ ./tools/testfiles/tvldtypes5.h5 ./tools/testfiles/tvlstr.h5 ./tools/testfiles/tvlstr.ddl -./tools/testfiles/tudlink.h5 -./tools/testfiles/tudlink.h5.xml -./tools/testfiles/tudlink-1.ddl -./tools/testfiles/tudlink-2.ddl -./tools/testfiles/tattr2.h5 -./tools/testfiles/tall-2A.ddl -./tools/testfiles/tall-2A0.ddl -./tools/testfiles/tall-2B.ddl -./tools/testfiles/tattrcontents1.ddl -./tools/testfiles/tattrcontents2.ddl -./tools/testfiles/tcontents.ddl -./tools/testfiles/tordercontents1.ddl -./tools/testfiles/tordercontents2.ddl -./tools/testfiles/torderlinks1.ddl -./tools/testfiles/torderlinks2.ddl -./tools/testfiles/tfilters.h5 -./tools/testfiles/tchunked.ddl -./tools/testfiles/tcompact.ddl -./tools/testfiles/tcontiguos.ddl -./tools/testfiles/tdeflate.ddl -./tools/testfiles/texternal.ddl -./tools/testfiles/tfletcher32.ddl -./tools/testfiles/treference.ddl -./tools/testfiles/tshuffle.ddl -./tools/testfiles/tstring.ddl -./tools/testfiles/tszip.ddl -./tools/testfiles/tuserfilter.ddl -./tools/testfiles/tallfilters.ddl -./tools/testfiles/tstringe.ddl -./tools/testfiles/tindicesyes.ddl -./tools/testfiles/tindicesno.ddl -./tools/testfiles/tfcontents1.h5 -./tools/testfiles/tfcontents2.h5 -./tools/testfiles/tboot1.ddl -./tools/testfiles/tboot2.ddl -./tools/testfiles/tperror.ddl -./tools/testfiles/tfill.ddl -./tools/testfiles/tfvalues.h5 -./tools/testfiles/tstring2.ddl -./tools/testfiles/tstr3.h5 -./tools/testfiles/taindices.h5 ./tools/testfiles/tvms.ddl -./tools/testfiles/tldouble.h5 ./tools/testfiles/tvms.h5 -./tools/testfiles/tbinary.h5 -./tools/testfiles/tbin1.ddl -./tools/testfiles/tbin2.ddl -./tools/testfiles/tbin3.ddl -./tools/testfiles/tbin4.ddl -./tools/testfiles/tindicessub2.ddl -./tools/testfiles/tindicessub3.ddl -./tools/testfiles/tindicessub4.ddl -./tools/testfiles/tindicessub1.ddl -./tools/testfiles/thyperslab.ddl -./tools/testfiles/tbigdims.ddl -./tools/testfiles/tbigdims.h5 -./tools/testfiles/thyperslab.h5 ./tools/testfiles/twidedisplay.ddl ./tools/testfiles/twithddl.exp ./tools/testfiles/twithddlfile.ddl @@ -1723,6 +1724,7 @@ ./tools/testfiles/tpbitsIntOffsetExceeded.ddl ./tools/testfiles/tpbitsLongOffsetExceeded.ddl ./tools/testfiles/tpbitsOverlapped.ddl + # h5dump h5import validation ./tools/testfiles/out3.h5import ./tools/testfiles/tordergr.h5 @@ -1738,6 +1740,7 @@ ./tools/testfiles/torderattr.h5 ./tools/testfiles/tfpformat.ddl ./tools/testfiles/tfpformat.h5 + # h5dump h5repack validation ./tools/testfiles/h5repack_filters.h5.ddl ./tools/testfiles/zerodim.ddl diff --git a/tools/h5dump/CMakeTests.cmake b/tools/h5dump/CMakeTests.cmake index 026b6b2..c88495d 100644 --- a/tools/h5dump/CMakeTests.cmake +++ b/tools/h5dump/CMakeTests.cmake @@ -52,6 +52,8 @@ ${HDF5_TOOLS_SRC_DIR}/testfiles/tbigdims.ddl ${HDF5_TOOLS_SRC_DIR}/testfiles/tboot1.ddl ${HDF5_TOOLS_SRC_DIR}/testfiles/tboot2.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tboot2A.ddl + ${HDF5_TOOLS_SRC_DIR}/testfiles/tboot2B.ddl ${HDF5_TOOLS_SRC_DIR}/testfiles/tchar1.ddl ${HDF5_TOOLS_SRC_DIR}/testfiles/tchunked.ddl ${HDF5_TOOLS_SRC_DIR}/testfiles/tcmpdattrintsize.ddl @@ -797,6 +799,10 @@ tboot1.out.err tboot2.out tboot2.out.err + tboot2A.out + tboot2A.out.err + tboot2B.out + tboot2B.out.err tchar1.out tchar1.out.err tchunked.out @@ -1202,6 +1208,8 @@ # tests for super block ADD_H5_TEST (tboot1 0 --enable-error-stack -H -B -d dset tfcontents1.h5) ADD_H5_TEST (tboot2 0 --enable-error-stack -B tfcontents2.h5) + ADD_H5_TEST (tboot2A 0 --enable-error-stack --boot-block tfcontents2.h5) + ADD_H5_TEST (tboot2B 0 --enable-error-stack --superblock tfcontents2.h5) ADD_H5_TEST (file_space 0 --enable-error-stack -B file_space.h5) # test -p with a non existing dataset diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index ea38c61..6429041 100644 --- a/tools/h5dump/h5dump.c +++ b/tools/h5dump/h5dump.c @@ -77,6 +77,7 @@ static struct long_options l_opts[] = { { "hel", no_arg, 'h' }, { "contents", optional_arg, 'n' }, { "properties", no_arg, 'p' }, + { "superblock", no_arg, 'B' }, { "boot-block", no_arg, 'B' }, { "boot-bloc", no_arg, 'B' }, { "boot-blo", no_arg, 'B' }, diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in index 77a0113..be05705 100644 --- a/tools/h5dump/testh5dump.sh.in +++ b/tools/h5dump/testh5dump.sh.in @@ -212,6 +212,8 @@ $SRC_H5DUMP_TESTFILES/tbinregR.ddl $SRC_H5DUMP_TESTFILES/tbigdims.ddl $SRC_H5DUMP_TESTFILES/tboot1.ddl $SRC_H5DUMP_TESTFILES/tboot2.ddl +$SRC_H5DUMP_TESTFILES/tboot2A.ddl +$SRC_H5DUMP_TESTFILES/tboot2B.ddl $SRC_H5DUMP_TESTFILES/tchar1.ddl $SRC_H5DUMP_TESTFILES/tchunked.ddl $SRC_H5DUMP_TESTFILES/tcmpdattrintsize.ddl @@ -1040,6 +1042,8 @@ TOOLTEST charsets.ddl --enable-error-stack charsets.h5 # tests for super block TOOLTEST tboot1.ddl --enable-error-stack -H -B -d dset tfcontents1.h5 TOOLTEST tboot2.ddl --enable-error-stack -B tfcontents2.h5 +TOOLTEST tboot2A.ddl --enable-error-stack --boot-block tfcontents2.h5 +TOOLTEST tboot2B.ddl --enable-error-stack --superblock tfcontents2.h5 TOOLTEST file_space.ddl --enable-error-stack -B file_space.h5 # test -p with a non existing dataset diff --git a/tools/testfiles/tboot2A.ddl b/tools/testfiles/tboot2A.ddl new file mode 100644 index 0000000..d83b92b --- /dev/null +++ b/tools/testfiles/tboot2A.ddl @@ -0,0 +1,20 @@ +HDF5 "tfcontents2.h5" { +SUPER_BLOCK { + SUPERBLOCK_VERSION 0 + FREELIST_VERSION 0 + SYMBOLTABLE_VERSION 0 + OBJECTHEADER_VERSION 0 + OFFSET_SIZE 8 + LENGTH_SIZE 8 + BTREE_RANK 16 + BTREE_LEAF 4 + ISTORE_K 32 + FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL + FREE_SPACE_THRESHOLD 1 + USER_BLOCK { + USERBLOCK_SIZE 0 + } +} +GROUP "/" { +} +} diff --git a/tools/testfiles/tboot2B.ddl b/tools/testfiles/tboot2B.ddl new file mode 100644 index 0000000..d83b92b --- /dev/null +++ b/tools/testfiles/tboot2B.ddl @@ -0,0 +1,20 @@ +HDF5 "tfcontents2.h5" { +SUPER_BLOCK { + SUPERBLOCK_VERSION 0 + FREELIST_VERSION 0 + SYMBOLTABLE_VERSION 0 + OBJECTHEADER_VERSION 0 + OFFSET_SIZE 8 + LENGTH_SIZE 8 + BTREE_RANK 16 + BTREE_LEAF 4 + ISTORE_K 32 + FILE_SPACE_STRATEGY H5F_FILE_SPACE_ALL + FREE_SPACE_THRESHOLD 1 + USER_BLOCK { + USERBLOCK_SIZE 0 + } +} +GROUP "/" { +} +} -- cgit v0.12 From d2e10eefd79c8f8eb765356f2210c1398866d6cc Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Thu, 22 Aug 2013 15:16:45 -0500 Subject: [svn-r24058] Coorect usage text wrt dataset subsetting --- tools/h5dump/h5dump.c | 2 +- tools/testfiles/h5dump-help.txt | 2 +- tools/testfiles/tnofilename-with-packed-bits.ddl | 2 +- tools/testfiles/tpbitsIncomplete.ddl | 2 +- tools/testfiles/tpbitsLengthExceeded.ddl | 2 +- tools/testfiles/tpbitsLengthPositive.ddl | 2 +- tools/testfiles/tpbitsMaxExceeded.ddl | 2 +- tools/testfiles/tpbitsOffsetExceeded.ddl | 2 +- tools/testfiles/tpbitsOffsetNegative.ddl | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/h5dump/h5dump.c b/tools/h5dump/h5dump.c index 6429041..3c60bb0 100644 --- a/tools/h5dump/h5dump.c +++ b/tools/h5dump/h5dump.c @@ -290,7 +290,7 @@ usage(const char *prog) PRINTVALSTREAM(rawoutstream, "\n"); PRINTVALSTREAM(rawoutstream, "--------------- Subsetting Options ---------------\n"); PRINTVALSTREAM(rawoutstream, " Subsetting is available by using the following options with a dataset\n"); - PRINTVALSTREAM(rawoutstream, " attribute. Subsetting is done by selecting a hyperslab from the data.\n"); + PRINTVALSTREAM(rawoutstream, " option. Subsetting is done by selecting a hyperslab from the data.\n"); PRINTVALSTREAM(rawoutstream, " Thus, the options mirror those for performing a hyperslab selection.\n"); PRINTVALSTREAM(rawoutstream, " One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting.\n"); PRINTVALSTREAM(rawoutstream, " The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in\n"); diff --git a/tools/testfiles/h5dump-help.txt b/tools/testfiles/h5dump-help.txt index 2a59a32..444dd97 100644 --- a/tools/testfiles/h5dump-help.txt +++ b/tools/testfiles/h5dump-help.txt @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in diff --git a/tools/testfiles/tnofilename-with-packed-bits.ddl b/tools/testfiles/tnofilename-with-packed-bits.ddl index 1ad1249..64a2880 100644 --- a/tools/testfiles/tnofilename-with-packed-bits.ddl +++ b/tools/testfiles/tnofilename-with-packed-bits.ddl @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in diff --git a/tools/testfiles/tpbitsIncomplete.ddl b/tools/testfiles/tpbitsIncomplete.ddl index 1468ad1..cdb1f91 100644 --- a/tools/testfiles/tpbitsIncomplete.ddl +++ b/tools/testfiles/tpbitsIncomplete.ddl @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in diff --git a/tools/testfiles/tpbitsLengthExceeded.ddl b/tools/testfiles/tpbitsLengthExceeded.ddl index 557f2a7..6d2492a 100644 --- a/tools/testfiles/tpbitsLengthExceeded.ddl +++ b/tools/testfiles/tpbitsLengthExceeded.ddl @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in diff --git a/tools/testfiles/tpbitsLengthPositive.ddl b/tools/testfiles/tpbitsLengthPositive.ddl index 342e4e8..4f56619 100644 --- a/tools/testfiles/tpbitsLengthPositive.ddl +++ b/tools/testfiles/tpbitsLengthPositive.ddl @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in diff --git a/tools/testfiles/tpbitsMaxExceeded.ddl b/tools/testfiles/tpbitsMaxExceeded.ddl index eb569d2..3432433 100644 --- a/tools/testfiles/tpbitsMaxExceeded.ddl +++ b/tools/testfiles/tpbitsMaxExceeded.ddl @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in diff --git a/tools/testfiles/tpbitsOffsetExceeded.ddl b/tools/testfiles/tpbitsOffsetExceeded.ddl index a00b561..e51a09e 100644 --- a/tools/testfiles/tpbitsOffsetExceeded.ddl +++ b/tools/testfiles/tpbitsOffsetExceeded.ddl @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in diff --git a/tools/testfiles/tpbitsOffsetNegative.ddl b/tools/testfiles/tpbitsOffsetNegative.ddl index aa6e79b..ba6e46d 100644 --- a/tools/testfiles/tpbitsOffsetNegative.ddl +++ b/tools/testfiles/tpbitsOffsetNegative.ddl @@ -59,7 +59,7 @@ usage: h5dump [OPTIONS] files --------------- Subsetting Options --------------- Subsetting is available by using the following options with a dataset - attribute. Subsetting is done by selecting a hyperslab from the data. + option. Subsetting is done by selecting a hyperslab from the data. Thus, the options mirror those for performing a hyperslab selection. One of the START, COUNT, STRIDE, or BLOCK parameters are mandatory if you do subsetting. The STRIDE, COUNT, and BLOCK parameters are optional and will default to 1 in -- cgit v0.12 From 68dd16d8f02e2c9010658b6105db44994725c067 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Fri, 23 Aug 2013 15:02:32 -0500 Subject: [svn-r24066] Eliminate switch default warning by printing err message. --- tools/h5import/h5import.c | 112 +++++++++++++++++++++++++++++++++++---- tools/h5repack/h5repack_verify.c | 4 +- 2 files changed, 106 insertions(+), 10 deletions(-) diff --git a/tools/h5import/h5import.c b/tools/h5import/h5import.c index 7038a95..a10ef24 100644 --- a/tools/h5import/h5import.c +++ b/tools/h5import/h5import.c @@ -273,7 +273,6 @@ static int gtoken(char *s) * identify the token type */ if (s[0] == '-') { /* option name (or negative number) */ - token = ERR; len = HDstrlen(&s[1]); switch (s[1]) { case 'o': @@ -310,6 +309,9 @@ static int gtoken(char *s) if (!HDstrncmp("size", &s[1], len)) token = OPT_s; break; + default: + token = ERR; /* not a supported option tag */ + break; } if (token == ERR) @@ -3386,6 +3388,11 @@ hid_t createOutputDataType(struct Input *in) { hid_t new_type = (-1); const char *err1 = "Invalid value for output class.\n"; + const char *err2 = "Invalid value for output size.\n"; + const char *err3 = "Invalid value for output byte order.\n"; + const char *err4 = "Invalid value for output architecture.\n"; + const char *err5 = "STD not supported for float.\n"; + const char *err6 = "IEEE not supported for INT.\n"; switch (in->outputClass) { case 0: @@ -3407,6 +3414,10 @@ hid_t createOutputDataType(struct Input *in) case 64: new_type = H5Tcopy(H5T_NATIVE_LLONG); break; + + default: + (void) HDfprintf(stderr, "%s", err2); + return (-1); } switch (in->outputByteOrder) { case -1: /* default */ @@ -3418,6 +3429,10 @@ hid_t createOutputDataType(struct Input *in) case 1: H5Tset_order(new_type, H5T_ORDER_LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3433,6 +3448,10 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_I8LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3446,6 +3465,10 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_I16LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3459,6 +3482,10 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_I32LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3472,11 +3499,22 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_I64LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; + + default: + (void) HDfprintf(stderr, "%s", err2); + return (-1); } break; + default: + (void) HDfprintf(stderr, "%s", err4); + return (-1); } break; @@ -3491,6 +3529,10 @@ hid_t createOutputDataType(struct Input *in) case 64: new_type = H5Tcopy(H5T_NATIVE_DOUBLE); break; + + default: + (void) HDfprintf(stderr, "%s", err2); + return (-1); } switch (in->outputByteOrder) { case -1: /* DEFAULT */ @@ -3502,12 +3544,16 @@ hid_t createOutputDataType(struct Input *in) case 1: H5Tset_order(new_type, H5T_ORDER_LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; case 1: - /* STD not supported for float */ - break; + (void) HDfprintf(stderr, "%s", err5); + return (-1); case 2: switch (in->outputSize) { @@ -3521,6 +3567,10 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_IEEE_F32LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3534,11 +3584,22 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_IEEE_F64LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; + + default: + (void) HDfprintf(stderr, "%s", err2); + return (-1); } break; + default: + (void) HDfprintf(stderr, "%s", err4); + return (-1); } break; @@ -3561,6 +3622,10 @@ hid_t createOutputDataType(struct Input *in) case 64: new_type = H5Tcopy(H5T_NATIVE_ULLONG); break; + + default: + (void) HDfprintf(stderr, "%s", err2); + return (-1); } switch (in->outputByteOrder) { case -1: /* Default */ @@ -3572,6 +3637,10 @@ hid_t createOutputDataType(struct Input *in) case 1: H5Tset_order(new_type, H5T_ORDER_LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3587,6 +3656,10 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_U8LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3600,6 +3673,10 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_U16LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3613,6 +3690,10 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_U32LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; @@ -3626,17 +3707,27 @@ hid_t createOutputDataType(struct Input *in) case 1: new_type = H5Tcopy(H5T_STD_U64LE); break; + + default: + (void) HDfprintf(stderr, "%s", err3); + return (-1); } break; + + default: + (void) HDfprintf(stderr, "%s", err2); + return (-1); } break; case 2: - /* IEEE not supported for INT */ - break; + (void) HDfprintf(stderr, "%s", err6); + return (-1); + default: + (void) HDfprintf(stderr, "%s", err4); + return (-1); } - break; default: @@ -3650,6 +3741,7 @@ hid_t createInputDataType(struct Input *in) { hid_t new_type = (-1); const char *err1 = "Invalid value for input class.\n"; + const char *err2 = "Invalid value for output size.\n"; switch (in->inputClass) { case 0: @@ -3672,7 +3764,7 @@ hid_t createInputDataType(struct Input *in) break; default: - (void) HDfprintf(stderr, "%s", err1); + (void) HDfprintf(stderr, "%s", err2); return (-1); } break; @@ -3690,12 +3782,14 @@ hid_t createInputDataType(struct Input *in) break; default: - (void) HDfprintf(stderr, "%s", err1); + (void) HDfprintf(stderr, "%s", err2); return (-1); } break; case 5: + (void) HDfprintf(stderr, "%s", err1); + return (-1); break; case 6: @@ -3718,7 +3812,7 @@ hid_t createInputDataType(struct Input *in) break; default: - (void) HDfprintf(stderr, "%s", err1); + (void) HDfprintf(stderr, "%s", err2); return (-1); } break; diff --git a/tools/h5repack/h5repack_verify.c b/tools/h5repack/h5repack_verify.c index 47cba5b..a57295b 100644 --- a/tools/h5repack/h5repack_verify.c +++ b/tools/h5repack/h5repack_verify.c @@ -676,7 +676,9 @@ int verify_filters(hid_t pid, hid_t tid, int nfilters, filter_info_t *filter) break; - + default: + /* filter has no local values */ + break; } /* switch */ -- cgit v0.12 From ca60bda9fb2a1fc0c6640bbb7887267a0fb6c124 Mon Sep 17 00:00:00 2001 From: HDF Tester Date: Sun, 25 Aug 2013 03:44:51 -0500 Subject: [svn-r24068] Snapshot version 1.9 release 162 --- README.txt | 2 +- c++/src/Makefile.in | 2 +- config/lt_vers.am | 2 +- configure | 22 +++++++++++----------- configure.ac | 2 +- fortran/src/Makefile.in | 2 +- hl/c++/src/Makefile.in | 2 +- hl/fortran/src/Makefile.in | 2 +- hl/src/Makefile.in | 2 +- release_docs/RELEASE.txt | 2 +- src/H5public.h | 4 ++-- src/Makefile.in | 2 +- vms/src/h5pubconf.h | 6 +++--- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/README.txt b/README.txt index 42d912b..da1a1fa 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.162 currently under development +HDF5 version 1.9.163 currently under development Please refer to the release_docs/INSTALL file for installation instructions. ------------------------------------------------------------------------------ diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 261a7b0..44ecd1f 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -467,7 +467,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 152 +LT_VERS_REVISION = 153 LT_VERS_AGE = 0 # Include src directory diff --git a/config/lt_vers.am b/config/lt_vers.am index 710e2a0..67cd8b6 100644 --- a/config/lt_vers.am +++ b/config/lt_vers.am @@ -17,7 +17,7 @@ # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 152 +LT_VERS_REVISION = 153 LT_VERS_AGE = 0 ## If the API changes *at all*, increment LT_VERS_INTERFACE and diff --git a/configure b/configure index c552f84..2c449eb 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Id: configure.ac 22697 2012-08-19 14:35:47Z hdftest . # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HDF5 1.9.162. +# Generated by GNU Autoconf 2.69 for HDF5 1.9.163. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.9.162' -PACKAGE_STRING='HDF5 1.9.162' +PACKAGE_VERSION='1.9.163' +PACKAGE_STRING='HDF5 1.9.163' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -1486,7 +1486,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HDF5 1.9.162 to adapt to many kinds of systems. +\`configure' configures HDF5 1.9.163 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1556,7 +1556,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.9.162:";; + short | recursive ) echo "Configuration of HDF5 1.9.163:";; esac cat <<\_ACEOF @@ -1752,7 +1752,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.9.162 +HDF5 configure 1.9.163 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2846,7 +2846,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HDF5 $as_me 1.9.162, which was +It was created by HDF5 $as_me 1.9.163, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3678,7 +3678,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.9.162' + VERSION='1.9.163' cat >>confdefs.h <<_ACEOF @@ -31613,7 +31613,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -HDF5 config.lt 1.9.162 +HDF5 config.lt 1.9.163 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -33743,7 +33743,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HDF5 $as_me 1.9.162, which was +This file was extended by HDF5 $as_me 1.9.163, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -33809,7 +33809,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -HDF5 config.status 1.9.162 +HDF5 config.status 1.9.163 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 7cfb3ff..1992c48 100644 --- a/configure.ac +++ b/configure.ac @@ -26,7 +26,7 @@ AC_PREREQ([2.69]) ## NOTE: Do not forget to change the version number here when we do a ## release!!! ## -AC_INIT([HDF5], [1.9.162], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.9.163], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AC_CONFIG_HEADER([src/H5config.h]) diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index 65ebcaf..0410f1c 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -518,7 +518,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 152 +LT_VERS_REVISION = 153 LT_VERS_AGE = 0 # Include src directory in both Fortran and C flags (C compiler is used diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index 369ccc2..9209263 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -458,7 +458,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 152 +LT_VERS_REVISION = 153 LT_VERS_AGE = 0 # Include src directory diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index 85e4757..e9c55e0 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -474,7 +474,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 152 +LT_VERS_REVISION = 153 LT_VERS_AGE = 0 INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/hl/src -I$(top_builddir)/hl/src \ -I$(top_srcdir)/fortran/src -I$(top_builddir)/fortran/src diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 89428ff..8a30f06 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -457,7 +457,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 152 +LT_VERS_REVISION = 153 LT_VERS_AGE = 0 # This library is our main target. diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 1d84f71..2e216df 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.9.162 currently under development +HDF5 version 1.9.163 currently under development ================================================================================ diff --git a/src/H5public.h b/src/H5public.h index f203bd1..eab72b5 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -75,10 +75,10 @@ extern "C" { /* Version numbers */ #define H5_VERS_MAJOR 1 /* For major interface/format changes */ #define H5_VERS_MINOR 9 /* For minor interface/format changes */ -#define H5_VERS_RELEASE 162 /* For tweaks, bug-fixes, or development */ +#define H5_VERS_RELEASE 163 /* For tweaks, bug-fixes, or development */ #define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.9.162" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.9.163" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR,H5_VERS_MINOR, \ H5_VERS_RELEASE) diff --git a/src/Makefile.in b/src/Makefile.in index 05e0476..1163f08 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -522,7 +522,7 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog # Add libtool shared library version numbers to the HDF5 library # See libtool versioning documentation online. LT_VERS_INTERFACE = 6 -LT_VERS_REVISION = 152 +LT_VERS_REVISION = 153 LT_VERS_AGE = 0 H5detect_CFLAGS = -g $(AM_CFLAGS) diff --git a/vms/src/h5pubconf.h b/vms/src/h5pubconf.h index ada9370..da0172f 100644 --- a/vms/src/h5pubconf.h +++ b/vms/src/h5pubconf.h @@ -511,7 +511,7 @@ #define H5_PACKAGE_NAME "HDF5" /* Define to the full name and version of this package. */ -#define H5_PACKAGE_STRING "HDF5 1.9.162" +#define H5_PACKAGE_STRING "HDF5 1.9.163" /* Define to the one symbol short name of this package. */ #define H5_PACKAGE_TARNAME "hdf5" @@ -520,7 +520,7 @@ #define H5_PACKAGE_URL "" /* Define to the version of this package. */ -#define H5_PACKAGE_VERSION "1.9.162" +#define H5_PACKAGE_VERSION "1.9.163" /* Width for printf() for type `long long' or `__int64', use `ll' */ #define H5_PRINTF_LL_WIDTH "ll" @@ -683,7 +683,7 @@ /* #undef H5_USING_MEMCHECKER */ /* Version number of package */ -#define H5_VERSION "1.9.162" +#define H5_VERSION "1.9.163" /* Define if vsnprintf() returns the correct value for formatted strings that don't fit into size allowed */ -- cgit v0.12 From 0b572983e923c20053ca1daeb4833c0bd05efbde Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Mon, 26 Aug 2013 10:02:13 -0500 Subject: [svn-r24070] Fix typo in flags options --- CMakeLists.txt | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e3d753..7ddc562 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -507,16 +507,16 @@ IF (NOT MSVC) SET (H5_CFLAGS3 "${H5_CFLAGS3} -Wlogical-op -Wlarger-than=2048 -Wvla") # Append more extra warning flags that only gcc 4.4+ know about - SET (H5_CFLAGS3 "${H5_CFLAGS4} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat") + SET (H5_CFLAGS4 "${H5_CFLAGS4} -Wsync-nand -Wframe-larger-than=16384 -Wpacked-bitfield-compat") # Append more extra warning flags that only gcc 4.5+ know about SET (H5_CFLAGS4 "${H5_CFLAGS4} -Wstrict-overflow=5 -Wjump-misses-init -Wunsuffixed-float-constants") # Append more extra warning flags that only gcc 4.6+ know about - SET (H5_CFLAGS4 "${H5_CFLAGS5} -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines") + SET (H5_CFLAGS5 "${H5_CFLAGS5} -Wdouble-promotion -Wsuggest-attribute=const -Wtrampolines") # Append more extra warning flags that only gcc 4.7+ know about - SET (H5_CFLAGS4 "${H5_CFLAGS5} -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn") + SET (H5_CFLAGS5 "${H5_CFLAGS5} -Wstack-usage=8192 -Wvector-operation-performance -Wsuggest-attribute=pure -Wsuggest-attribute=noreturn") ENDIF (NOT MSVC) #----------------------------------------------------------------------------- @@ -605,6 +605,16 @@ IF (HDF5_ENABLE_GROUPFOUR_WARNINGS) ENDIF (HDF5_ENABLE_GROUPFOUR_WARNINGS) #----------------------------------------------------------------------------- +# Option to allow the user to enable warnings by groups +#----------------------------------------------------------------------------- +OPTION (HDF5_ENABLE_GROUPFIVE_WARNINGS "Enable group five warnings" OFF) +IF (HDF5_ENABLE_GROUPFIVE_WARNINGS) + IF (NOT MSVC) + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${H5_CFLAGS5}") + ENDIF (NOT MSVC) +ENDIF (HDF5_ENABLE_GROUPFIVE_WARNINGS) + +#----------------------------------------------------------------------------- # This is in here to help some of the GCC based IDES like Eclipse # and code blocks parse the compiler errors and warnings better. #----------------------------------------------------------------------------- -- cgit v0.12 From d24404ae83f97236630efbcd34660e71c1a2293c Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Tue, 27 Aug 2013 08:26:37 -0500 Subject: [svn-r24077] Updated -help output for compile scripts for changing default from -noshlib to -shlib when hdf5 is built without static libraries (--disable-static). Tested with h5committest on jam, koala, ostrich and platypus. --- c++/src/h5c++.in | 10 +++++++--- fortran/src/h5fc.in | 10 ++++++---- tools/misc/h5cc.in | 10 ++++++---- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/c++/src/h5c++.in b/c++/src/h5c++.in index 4c86c6a..a4aaf52 100644 --- a/c++/src/h5c++.in +++ b/c++/src/h5c++.in @@ -122,9 +122,10 @@ usage() { echo " subdirectories [default: $prefix]" echo " -show Show the commands without executing them" echo " -showconfig Show the HDF5 library configuration summary" - echo " -shlib Compile with shared HDF5 libraries [default when built with" - echo " disable-static]" - echo " -noshlib Compile with static HDF5 libraries [default when static available]" + echo " -shlib Compile with shared HDF5 libraries [default for hdf5 built" + echo " without static libraries]" + echo " -noshlib Compile with static HDF5 libraries [default for hdf5 built" + echo " with static libraries]" echo " " echo " - the normal compile line options for your compiler." echo " $prog_name uses the same compiler you used to compile" @@ -137,6 +138,9 @@ usage() { echo " " echo " HDF5_CXX - use a different C++ compiler" echo " HDF5_CXXLINKER - use a different linker" + echo " HDF5_USE_SHLIB=[yes|no] - use shared or static version of the HDF5 library" + echo " [default: no except when built with only" + echo " shared libraries]" echo " You can also add or change paths and flags to the compile line using" echo " the following environment varibles or by assigning them to their counterparts" echo " in the 'Things You Can Modify to Override...'" section of $prog_name diff --git a/fortran/src/h5fc.in b/fortran/src/h5fc.in index 1285541..b5a6486 100644 --- a/fortran/src/h5fc.in +++ b/fortran/src/h5fc.in @@ -118,9 +118,10 @@ usage() { echo " subdirectories [default: $prefix]" echo " -show Show the commands without executing them" echo " -showconfig Show the HDF5 library configuration summary" - echo " -shlib Compile with shared HDF5 libraries [default when built with" - echo " disable-static]" - echo " -noshlib Compile with static HDF5 libraries [default when static available]" + echo " -shlib Compile with shared HDF5 libraries [default for hdf5 built" + echo " without static libraries]" + echo " -noshlib Compile with static HDF5 libraries [default for hdf5 built" + echo " with static libraries]" echo " " echo " - the normal compile line options for your compiler." echo " $prog_name uses the same compiler you used to compile" @@ -133,7 +134,8 @@ usage() { echo " HDF5_FC - use a different Fortran 90 or 95 compiler" echo " HDF5_FLINKER - use a different linker" echo " HDF5_USE_SHLIB=[yes|no] - use shared or static version of the HDF5 library" - echo " [default: no]" + echo " [default: no except when built with only" + echo " shared libraries]" echo " " echo " You can also add or change paths and flags to the compile line using" echo " the following environment varibles or by assigning them to their counterparts" diff --git a/tools/misc/h5cc.in b/tools/misc/h5cc.in index f62c66f..da1a26d 100644 --- a/tools/misc/h5cc.in +++ b/tools/misc/h5cc.in @@ -132,9 +132,10 @@ usage() { echo " subdirectories [default: $prefix]" echo " -show Show the commands without executing them" echo " -showconfig Show the HDF5 library configuration summary" - echo " -shlib Compile with shared HDF5 libraries [default when built with" - echo " disable-static]" - echo " -noshlib Compile with static HDF5 libraries [default when static available]" + echo " -shlib Compile with shared HDF5 libraries [default for hdf5 built" + echo " without static libraries]" + echo " -noshlib Compile with static HDF5 libraries [default for hdf5 built" + echo " with static libraries]" echo " " echo " - the normal compile line options for your compiler." echo " $prog_name uses the same compiler you used to compile" @@ -148,7 +149,8 @@ usage() { echo " HDF5_CC - use a different C compiler" echo " HDF5_CLINKER - use a different linker" echo " HDF5_USE_SHLIB=[yes|no] - use shared or static version of the HDF5 library" - echo " [default: no]" + echo " [default: no except when built with only" + echo " shared libraries]" echo " " echo " You can also add or change paths and flags to the compile line using" echo " the following environment varibles or by assigning them to their counterparts" -- cgit v0.12 From 7a0f38d807b4f8b10608dd0d860b625d98845498 Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Tue, 27 Aug 2013 09:19:11 -0500 Subject: [svn-r24078] Correct name of windows shared libraries --- release_docs/USING_HDF5_VS.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release_docs/USING_HDF5_VS.txt b/release_docs/USING_HDF5_VS.txt index b817f7e..9bf301e 100644 --- a/release_docs/USING_HDF5_VS.txt +++ b/release_docs/USING_HDF5_VS.txt @@ -35,7 +35,7 @@ Using Visual Studio 2010 with HDF5 Libraries built with Visual Studio 2010 library, and then optionally the HDF5 High Level, Fortran or C++ libraries. For example, to compile a C++ application, enter: - szip.lib zlib.lib hdf5dll.lib hdf5_cppdll.lib + szip.lib zlib.lib hdf5.lib hdf5_cpp.lib ========================================================================== @@ -67,7 +67,7 @@ Using Visual Studio 2008 with HDF5 Libraries built with Visual Studio 2008 library, and then optionally the HDF5 High Level, Fortran or C++ libraries. For example, to compile a C++ application, enter: - szip.lib zlib.lib hdf5dll.lib hdf5_cppdll.lib + szip.lib zlib.lib hdf5.lib hdf5_cpp.lib ======================================================================== 3. Helpful Pointers -- cgit v0.12 From a3e0aecb2235e487eae80de4dd4c074bd2dabc0f Mon Sep 17 00:00:00 2001 From: Mohamad Chaarawi Date: Fri, 30 Aug 2013 12:05:42 -0500 Subject: [svn-r24087] Rename the private H5RC (reference count) module to H5UC (Use Count). This is needed to avoid a conflict with the Read Context object to be introduced in another Project. No impact on users, since this is a private module, and low for developers as the RC module use is very sparse in the library. Tested with h5committest. --- MANIFEST | 4 +- src/CMakeLists.txt | 12 ++--- src/H5B.c | 46 +++++++++---------- src/H5Bcache.c | 10 ++--- src/H5Bdbg.c | 10 ++--- src/H5Bpkg.h | 4 +- src/H5Bprivate.h | 4 +- src/H5Dbtree.c | 18 ++++---- src/H5F.c | 2 +- src/H5Fpkg.h | 4 +- src/H5Fprivate.h | 6 +-- src/H5Fquery.c | 2 +- src/H5Gnode.c | 8 ++-- src/H5Oprivate.h | 2 +- src/H5RC.c | 127 --------------------------------------------------- src/H5RCprivate.h | 63 -------------------------- src/H5UC.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/H5UCprivate.h | 66 +++++++++++++++++++++++++++ src/Makefile.am | 2 +- src/Makefile.in | 6 +-- src/hdf5.lnt | 2 +- vms/src/make.com | 2 +- 22 files changed, 268 insertions(+), 262 deletions(-) delete mode 100644 src/H5RC.c delete mode 100644 src/H5RCprivate.h create mode 100644 src/H5UC.c create mode 100644 src/H5UCprivate.h diff --git a/MANIFEST b/MANIFEST index bd382f9..e8a4f3a 100644 --- a/MANIFEST +++ b/MANIFEST @@ -857,8 +857,8 @@ ./src/H5Rpkg.h ./src/H5Rprivate.h ./src/H5Rpublic.h -./src/H5RC.c -./src/H5RCprivate.h +./src/H5UC.c +./src/H5UCprivate.h ./src/H5RS.c ./src/H5RSprivate.h ./src/H5S.c diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 91872af..8e7a3bf 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -498,12 +498,12 @@ SET (H5R_HDRS IDE_GENERATED_PROPERTIES ("H5R" "${H5R_HDRS}" "${H5R_SRCS}" ) -SET (H5RC_SRCS - ${HDF5_SRC_DIR}/H5RC.c +SET (H5UC_SRCS + ${HDF5_SRC_DIR}/H5UC.c ) -SET (H5RC_HDRS +SET (H5UC_HDRS ) -IDE_GENERATED_PROPERTIES ("H5RC" "${H5RC_HDRS}" "${H5RC_SRCS}" ) +IDE_GENERATED_PROPERTIES ("H5UC" "${H5UC_HDRS}" "${H5UC_SRCS}" ) SET (H5RS_SRCS @@ -673,7 +673,7 @@ SET (common_SRCS ${H5P_SRCS} ${H5PL_SRCS} ${H5R_SRCS} - ${H5RC_SRCS} + ${H5UC_SRCS} ${H5RS_SRCS} ${H5S_SRCS} ${H5SL_SRCS} @@ -751,7 +751,7 @@ SET (H5_PRIVATE_HEADERS ${HDF5_SRC_DIR}/H5Oprivate.h ${HDF5_SRC_DIR}/H5Pprivate.h ${HDF5_SRC_DIR}/H5PLprivate.h - ${HDF5_SRC_DIR}/H5RCprivate.h + ${HDF5_SRC_DIR}/H5UCprivate.h ${HDF5_SRC_DIR}/H5Rprivate.h ${HDF5_SRC_DIR}/H5RSprivate.h ${HDF5_SRC_DIR}/H5SLprivate.h diff --git a/src/H5B.c b/src/H5B.c index 27b3609..286f09d 100644 --- a/src/H5B.c +++ b/src/H5B.c @@ -243,8 +243,8 @@ H5B_create(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, void *udata, bt->nchildren = 0; if(NULL == (bt->rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree node buffer") - H5RC_INC(bt->rc_shared); - shared=(H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + H5UC_INC(bt->rc_shared); + shared=(H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared); HDassert(shared); if(NULL == (bt->native = H5FL_BLK_MALLOC(native_block, shared->sizeof_keys)) || NULL == (bt->child = H5FL_SEQ_MALLOC(haddr_t, (size_t)shared->two_k))) @@ -304,7 +304,7 @@ htri_t H5B_find(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void *udata) { H5B_t *bt = NULL; - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ unsigned idx = 0, lt = 0, rt; /* Final, left & right key indices */ @@ -326,7 +326,7 @@ H5B_find(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void *u /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* @@ -422,7 +422,7 @@ H5B_split(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, unsigned idx, /* * Initialize variables. */ - shared = (H5B_shared_t *)H5RC_GET_OBJ(bt_ud->bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(bt_ud->bt->rc_shared); HDassert(shared); HDassert(bt_ud->bt->nchildren == shared->two_k); @@ -576,7 +576,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, H5B_ins_ud_t bt_ud = H5B_INS_UD_T_NULL; /* (Old) root node */ H5B_ins_ud_t split_bt_ud = H5B_INS_UD_T_NULL; /* Split B-tree node */ H5B_t *new_root_bt = NULL; /* New root node */ - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ H5B_ins_t my_ins = H5B_INS_ERROR; @@ -593,7 +593,7 @@ H5B_insert(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* Protect the root node */ @@ -726,7 +726,7 @@ H5B_insert_child(H5B_t *bt, unsigned *bt_flags, unsigned idx, HDassert(bt); HDassert(bt_flags); HDassert(H5F_addr_defined(child)); - shared = (H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared); HDassert(shared); HDassert(bt->nchildren < shared->two_k); @@ -812,7 +812,7 @@ H5B_insert_helper(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, H5B_ins_ud_t *split_bt_ud/*out*/) { H5B_t *bt; /* Convenience pointer to B-tree */ - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ unsigned lt = 0, idx = 0, rt; /* Left, final & right index values */ @@ -852,7 +852,7 @@ H5B_insert_helper(H5F_t *f, hid_t dxpl_id, H5B_ins_ud_t *bt_ud, /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, H5B_INS_ERROR, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* @@ -1135,7 +1135,7 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add H5B_operator_t op, void *udata) { H5B_t *bt = NULL; /* Pointer to current B-tree node */ - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ uint8_t *native = NULL; /* Array of keys in native format */ @@ -1156,7 +1156,7 @@ H5B_iterate_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t add /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* Protect the initial/current node */ @@ -1333,7 +1333,7 @@ H5B_remove_helper(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type { H5B_t *bt = NULL, *sibling = NULL; unsigned bt_flags = H5AC__NO_FLAGS_SET; - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ unsigned idx = 0, lt = 0, rt; /* Final, left & right indices */ @@ -1354,7 +1354,7 @@ H5B_remove_helper(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, H5B_INS_ERROR, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* @@ -1700,7 +1700,7 @@ herr_t H5B_delete(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void *udata) { H5B_t *bt = NULL; /* B-tree node being operated on */ - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ unsigned u; /* Local index variable */ @@ -1716,7 +1716,7 @@ H5B_delete(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr, void /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* Lock this B-tree node into memory for now */ @@ -1893,7 +1893,7 @@ H5B_copy(const H5B_t *old_bt) * Check arguments. */ HDassert(old_bt); - shared = (H5B_shared_t *)H5RC_GET_OBJ(old_bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(old_bt->rc_shared); HDassert(shared); /* Allocate memory for the new H5B_t object */ @@ -1915,7 +1915,7 @@ H5B_copy(const H5B_t *old_bt) HDmemcpy(new_node->child, old_bt->child, (sizeof(haddr_t) * shared->two_k)); /* Increment the ref-count on the raw page */ - H5RC_INC(new_node->rc_shared); + H5UC_INC(new_node->rc_shared); /* Set return value */ ret_value = new_node; @@ -1951,7 +1951,7 @@ H5B_get_info_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t ad const H5B_info_ud_t *info_udata) { H5B_t *bt = NULL; /* Pointer to current B-tree node */ - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ unsigned level; /* Node level */ @@ -1975,7 +1975,7 @@ H5B_get_info_helper(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t ad /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, info_udata->udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* Get the raw node size for iteration */ @@ -2108,7 +2108,7 @@ htri_t H5B_valid(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr) { H5B_t *bt = NULL; /* The B-tree */ - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ htri_t ret_value = SUCCEED; /* Return value */ @@ -2127,7 +2127,7 @@ H5B_valid(H5F_t *f, hid_t dxpl_id, const H5B_class_t *type, haddr_t addr) /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, NULL))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* @@ -2173,7 +2173,7 @@ H5B_node_dest(H5B_t *bt) bt->child = H5FL_SEQ_FREE(haddr_t, bt->child); bt->native = H5FL_BLK_FREE(native_block, bt->native); - H5RC_DEC(bt->rc_shared); + H5UC_DEC(bt->rc_shared); bt = H5FL_FREE(H5B_t, bt); FUNC_LEAVE_NOAPI(SUCCEED) diff --git a/src/H5Bcache.c b/src/H5Bcache.c index 968c5ee..2992986 100644 --- a/src/H5Bcache.c +++ b/src/H5Bcache.c @@ -121,10 +121,10 @@ H5B__load(H5F_t *f, hid_t dxpl_id, haddr_t addr, void *_udata) /* Set & increment the ref-counted "shared" B-tree information for the node */ bt->rc_shared = udata->rc_shared; - H5RC_INC(bt->rc_shared); + H5UC_INC(bt->rc_shared); /* Get a pointer to the shared info, for convenience */ - shared = (H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared); HDassert(shared); /* Allocate space for the native keys and child addresses */ @@ -217,7 +217,7 @@ H5B__flush(H5F_t *f, hid_t dxpl_id, hbool_t destroy, haddr_t addr, H5B_t *bt, un HDassert(f); HDassert(H5F_addr_defined(addr)); HDassert(bt); - shared = (H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared); HDassert(shared); HDassert(shared->type); HDassert(shared->type->encode); @@ -318,7 +318,7 @@ H5B__dest(H5F_t *f, H5B_t *bt) H5B_shared_t *shared; /* Pointer to shared B-tree info */ /* Get the pointer to the shared B-tree info */ - shared = (H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared); HDassert(shared); /* Release the space on disk */ @@ -398,7 +398,7 @@ H5B__compute_size(const H5F_t UNUSED *f, const H5B_t *bt, size_t *size_ptr) HDassert(f); HDassert(bt); HDassert(bt->rc_shared); - shared = (H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared); HDassert(shared); HDassert(shared->type); HDassert(size_ptr); diff --git a/src/H5Bdbg.c b/src/H5Bdbg.c index 3fb7dd8..3c81c26 100644 --- a/src/H5Bdbg.c +++ b/src/H5Bdbg.c @@ -59,7 +59,7 @@ H5B_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, int f const H5B_class_t *type, void *udata) { H5B_t *bt = NULL; - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ unsigned u; /* Local index variable */ @@ -80,7 +80,7 @@ H5B_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, int f /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* @@ -174,7 +174,7 @@ herr_t H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type, void *udata) { H5B_t *bt = NULL; - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ H5B_shared_t *shared; /* Pointer to shared B-tree info */ H5B_cache_ud_t cache_udata; /* User-data for metadata cache callback */ int ncell, cmp; @@ -199,7 +199,7 @@ H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type, void /* Get shared info for B-tree */ if(NULL == (rc_shared = (type->get_shared)(f, udata))) HGOTO_ERROR(H5E_BTREE, H5E_CANTGET, FAIL, "can't retrieve B-tree's shared ref. count object") - shared = (H5B_shared_t *)H5RC_GET_OBJ(rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(rc_shared); HDassert(shared); /* Initialize the queue */ @@ -208,7 +208,7 @@ H5B_assert(H5F_t *f, hid_t dxpl_id, haddr_t addr, const H5B_class_t *type, void cache_udata.rc_shared = rc_shared; bt = (H5B_t *)H5AC_protect(f, dxpl_id, H5AC_BT, addr, &cache_udata, H5AC_READ); HDassert(bt); - shared = (H5B_shared_t *)H5RC_GET_OBJ(bt->rc_shared); + shared = (H5B_shared_t *)H5UC_GET_OBJ(bt->rc_shared); HDassert(shared); cur = (struct child_t *)H5MM_calloc(sizeof(struct child_t)); HDassert(cur); diff --git a/src/H5Bpkg.h b/src/H5Bpkg.h index 46e2b28..598b122 100644 --- a/src/H5Bpkg.h +++ b/src/H5Bpkg.h @@ -52,7 +52,7 @@ typedef struct H5B_t { H5AC_info_t cache_info; /* Information for H5AC cache functions */ /* _must_ be first field in structure */ - H5RC_t *rc_shared; /*ref-counted shared info */ + H5UC_t *rc_shared; /*ref-counted shared info */ unsigned level; /*node level */ unsigned nchildren; /*number of child pointers */ haddr_t left; /*address of left sibling */ @@ -65,7 +65,7 @@ typedef struct H5B_t { typedef struct H5B_cache_ud_t { H5F_t *f; /* File that B-tree node is within */ const struct H5B_class_t *type; /* Type of tree */ - H5RC_t *rc_shared; /* Ref-counted shared info */ + H5UC_t *rc_shared; /* Ref-counted shared info */ } H5B_cache_ud_t; /*****************************/ diff --git a/src/H5Bprivate.h b/src/H5Bprivate.h index 83a357b..9e95c15 100644 --- a/src/H5Bprivate.h +++ b/src/H5Bprivate.h @@ -34,7 +34,7 @@ /* Private headers needed by this file */ #include "H5private.h" /* Generic Functions */ #include "H5Fprivate.h" /* File access */ -#include "H5RCprivate.h" /* Reference counted object functions */ +#include "H5UCprivate.h" /* Reference counted object functions */ /**************************/ /* Library Private Macros */ @@ -113,7 +113,7 @@ typedef struct H5B_shared_t { typedef struct H5B_class_t { H5B_subid_t id; /*id as found in file*/ size_t sizeof_nkey; /*size of native (memory) key*/ - H5RC_t * (*get_shared)(const H5F_t*, const void*); /*shared info for node */ + H5UC_t * (*get_shared)(const H5F_t*, const void*); /*shared info for node */ herr_t (*new_node)(H5F_t*, hid_t, H5B_ins_t, void*, void*, void*, haddr_t*); int (*cmp2)(void*, void*, void*); /*compare 2 keys */ int (*cmp3)(void*, void*, void*); /*compare 3 keys */ diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c index 50af977..37780e7 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -105,7 +105,7 @@ static int H5D__btree_idx_iterate_cb(H5F_t *f, hid_t dxpl_id, const void *left_k haddr_t addr, const void *right_key, void *_udata); /* B-tree callbacks */ -static H5RC_t *H5D__btree_get_shared(const H5F_t *f, const void *_udata); +static H5UC_t *H5D__btree_get_shared(const H5F_t *f, const void *_udata); static herr_t H5D__btree_new_node(H5F_t *f, hid_t dxpl_id, H5B_ins_t, void *_lt_key, void *_udata, void *_rt_key, haddr_t *addr_p /*out*/); static int H5D__btree_cmp2(void *_lt_key, void *_udata, void *_rt_key); @@ -219,7 +219,7 @@ H5B_class_t H5B_BTREE[1] = {{ *------------------------------------------------------------------------- */ /* ARGSUSED */ -static H5RC_t * +static H5UC_t * H5D__btree_get_shared(const H5F_t UNUSED *f, const void *_udata) { const H5D_chunk_common_ud_t *udata = (const H5D_chunk_common_ud_t *) _udata; @@ -800,7 +800,7 @@ H5D__btree_shared_create(const H5F_t *f, H5O_storage_chunk_t *store, unsigned nd /* */ /* Make shared B-tree info reference counted */ - if(NULL == (store->u.btree.shared = H5RC_create(shared, H5B_shared_free))) + if(NULL == (store->u.btree.shared = H5UC_create(shared, H5B_shared_free))) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "can't create ref-count wrapper for shared B-tree info") done: @@ -1186,7 +1186,7 @@ H5D__btree_idx_delete(const H5D_chk_idx_info_t *idx_info) /* Release the shared B-tree page */ if(NULL == tmp_storage.u.btree.shared) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "ref-counted page nil") - if(H5RC_DEC(tmp_storage.u.btree.shared) < 0) + if(H5UC_DEC(tmp_storage.u.btree.shared) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") } /* end if */ @@ -1268,9 +1268,9 @@ H5D__btree_idx_copy_shutdown(H5O_storage_chunk_t *storage_src, HDassert(storage_dst); /* Decrement refcount on shared B-tree info */ - if(H5RC_DEC(storage_src->u.btree.shared) < 0) + if(H5UC_DEC(storage_src->u.btree.shared) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "unable to decrement ref-counted page") - if(H5RC_DEC(storage_dst->u.btree.shared) < 0) + if(H5UC_DEC(storage_dst->u.btree.shared) < 0) HGOTO_ERROR(H5E_DATASET, H5E_CANTDEC, FAIL, "unable to decrement ref-counted page") done: @@ -1330,7 +1330,7 @@ done: if(shared_init) { if(NULL == idx_info->storage->u.btree.shared) HDONE_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil") - if(H5RC_DEC(idx_info->storage->u.btree.shared) < 0) + if(H5UC_DEC(idx_info->storage->u.btree.shared) < 0) HDONE_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") } /* end if */ @@ -1420,7 +1420,7 @@ H5D__btree_idx_dest(const H5D_chk_idx_info_t *idx_info) /* Free the raw B-tree node buffer */ if(NULL == idx_info->storage->u.btree.shared) HGOTO_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil") - if(H5RC_DEC(idx_info->storage->u.btree.shared) < 0) + if(H5UC_DEC(idx_info->storage->u.btree.shared) < 0) HGOTO_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") done: @@ -1475,7 +1475,7 @@ done: if(NULL == storage.u.btree.shared) HDONE_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "ref-counted page nil") else - if(H5RC_DEC(storage.u.btree.shared) < 0) + if(H5UC_DEC(storage.u.btree.shared) < 0) HDONE_ERROR(H5E_IO, H5E_CANTFREE, FAIL, "unable to decrement ref-counted page") } /* end if */ diff --git a/src/H5F.c b/src/H5F.c index 6c220aa..78fe79f 100644 --- a/src/H5F.c +++ b/src/H5F.c @@ -3200,7 +3200,7 @@ done: *------------------------------------------------------------------------- */ herr_t -H5F_set_grp_btree_shared(H5F_t *f, H5RC_t *rc) +H5F_set_grp_btree_shared(H5F_t *f, H5UC_t *rc) { /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ FUNC_ENTER_NOAPI_NOINIT_NOERR diff --git a/src/H5Fpkg.h b/src/H5Fpkg.h index beb7e88..2465222 100644 --- a/src/H5Fpkg.h +++ b/src/H5Fpkg.h @@ -42,7 +42,7 @@ #include "H5FSprivate.h" /* File free space */ #include "H5Gprivate.h" /* Groups */ #include "H5Oprivate.h" /* Object header messages */ -#include "H5RCprivate.h" /* Reference counted object functions */ +#include "H5UCprivate.h" /* Reference counted object functions */ /* @@ -236,7 +236,7 @@ struct H5F_file_t { struct H5HG_heap_t **cwfs; /* Global heap cache */ struct H5G_t *root_grp; /* Open root group */ H5FO_t *open_objs; /* Open objects in file */ - H5RC_t *grp_btree_shared; /* Ref-counted group B-tree node info */ + H5UC_t *grp_btree_shared; /* Ref-counted group B-tree node info */ /* File space allocation information */ H5F_file_space_type_t fs_strategy; /* File space handling strategy */ diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h index afad362..572df76 100644 --- a/src/H5Fprivate.h +++ b/src/H5Fprivate.h @@ -549,7 +549,7 @@ typedef struct H5F_blk_aggr_t H5F_blk_aggr_t; /* Forward declarations for prototype arguments */ struct H5B_class_t; -struct H5RC_t; +struct H5UC_t; struct H5O_loc_t; struct H5HG_heap_t; @@ -599,8 +599,8 @@ H5_DLL unsigned H5F_gc_ref(const H5F_t *f); H5_DLL hbool_t H5F_use_latest_format(const H5F_t *f); H5_DLL hbool_t H5F_store_msg_crt_idx(const H5F_t *f); H5_DLL herr_t H5F_set_store_msg_crt_idx(H5F_t *f, hbool_t flag); -H5_DLL struct H5RC_t *H5F_grp_btree_shared(const H5F_t *f); -H5_DLL herr_t H5F_set_grp_btree_shared(H5F_t *f, struct H5RC_t *rc); +H5_DLL struct H5UC_t *H5F_grp_btree_shared(const H5F_t *f); +H5_DLL herr_t H5F_set_grp_btree_shared(H5F_t *f, struct H5UC_t *rc); H5_DLL hbool_t H5F_use_tmp_space(const H5F_t *f); H5_DLL hbool_t H5F_is_tmp_addr(const H5F_t *f, haddr_t addr); diff --git a/src/H5Fquery.c b/src/H5Fquery.c index c04ba24..6c3ca12 100644 --- a/src/H5Fquery.c +++ b/src/H5Fquery.c @@ -703,7 +703,7 @@ H5F_get_base_addr(const H5F_t *f) * *------------------------------------------------------------------------- */ -H5RC_t * +H5UC_t * H5F_grp_btree_shared(const H5F_t *f) { /* Use FUNC_ENTER_NOAPI_NOINIT_NOERR here to avoid performance issues */ diff --git a/src/H5Gnode.c b/src/H5Gnode.c index c0d2885..3c238ce 100644 --- a/src/H5Gnode.c +++ b/src/H5Gnode.c @@ -77,7 +77,7 @@ typedef struct H5G_node_key_t { /********************/ /* B-tree callbacks */ -static H5RC_t *H5G_node_get_shared(const H5F_t *f, const void *_udata); +static H5UC_t *H5G_node_get_shared(const H5F_t *f, const void *_udata); static herr_t H5G_node_create(H5F_t *f, hid_t dxpl_id, H5B_ins_t op, void *_lt_key, void *_udata, void *_rt_key, haddr_t *addr_p/*out*/); @@ -156,7 +156,7 @@ H5FL_SEQ_DEFINE(H5G_entry_t); * *------------------------------------------------------------------------- */ -static H5RC_t * +static H5UC_t * H5G_node_get_shared(const H5F_t *f, const void UNUSED *_udata) { FUNC_ENTER_NOAPI_NOINIT_NOERR @@ -1189,7 +1189,7 @@ H5G__node_init(H5F_t *f) /* */ /* Make shared B-tree info reference counted */ - if(H5F_SET_GRP_BTREE_SHARED(f, H5RC_create(shared, H5B_shared_free)) < 0) + if(H5F_SET_GRP_BTREE_SHARED(f, H5UC_create(shared, H5B_shared_free)) < 0) HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "can't create ref-count wrapper for shared B-tree info") done: @@ -1222,7 +1222,7 @@ H5G_node_close(const H5F_t *f) /* Free the raw B-tree node buffer */ if(H5F_GRP_BTREE_SHARED(f)) - H5RC_DEC(H5F_GRP_BTREE_SHARED(f)); + H5UC_DEC(H5F_GRP_BTREE_SHARED(f)); FUNC_LEAVE_NOAPI(SUCCEED) } /* end H5G_node_close */ diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h index 8e2dfa4..d5cd621 100644 --- a/src/H5Oprivate.h +++ b/src/H5Oprivate.h @@ -392,7 +392,7 @@ typedef struct H5O_storage_contig_t { typedef struct H5O_storage_chunk_btree_t { haddr_t dset_ohdr_addr; /* File address dataset's object header */ - H5RC_t *shared; /* Ref-counted shared info for B-tree nodes */ + H5UC_t *shared; /* Ref-counted shared info for B-tree nodes */ } H5O_storage_chunk_btree_t; typedef struct H5O_storage_chunk_t { diff --git a/src/H5RC.c b/src/H5RC.c deleted file mode 100644 index 6abe837..0000000 --- a/src/H5RC.c +++ /dev/null @@ -1,127 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * Reference counting buffer algorithms. - * - * These are used for various internal buffers which are shared. - * - */ - - -#include "H5Eprivate.h" /* Error handling */ -#include "H5FLprivate.h" /* Free lists */ -#include "H5RCprivate.h" /* Reference-counted buffers */ - -/* Private typedefs & structs */ - -/* Declare a free list to manage the H5RC_t struct */ -H5FL_DEFINE_STATIC(H5RC_t); - - -/*-------------------------------------------------------------------------- - NAME - H5RC_create - PURPOSE - Create a reference counted object - USAGE - H5RC_t *H5RC_create(o,free) - const void *o; IN: Object to initialize ref-counted object with - H5RC_free_func_t free; IN: Function to call when ref-count drop to zero - - RETURNS - Returns a pointer to a new ref-counted object on success, NULL on failure. - DESCRIPTION - Create a reference counted object. The object is not duplicated, it is - assumed to be owned by the reference counted object now and will be freed - with the 'free' function when the reference count drops to zero. - GLOBAL VARIABLES - COMMENTS, BUGS, ASSUMPTIONS - EXAMPLES - REVISION LOG ---------------------------------------------------------------------------*/ -H5RC_t * -H5RC_create(void *o, H5RC_free_func_t free_func) -{ - H5RC_t *ret_value; /* Return value */ - - FUNC_ENTER_NOAPI(NULL) - - /* Sanity check */ - HDassert(o); - HDassert(free_func); - - /* Allocate ref-counted string structure */ - if(NULL == (ret_value = H5FL_MALLOC(H5RC_t))) - HGOTO_ERROR(H5E_RS,H5E_NOSPACE,NULL,"memory allocation failed") - - /* Set the internal fields */ - ret_value->o = o; - ret_value->n = 1; - ret_value->free_func = free_func; - -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* end H5RC_create() */ - - -/*-------------------------------------------------------------------------- - NAME - H5RC_decr - PURPOSE - Decrement the reference count for a ref-counted object - USAGE - herr_t H5RC_decr(rc) - H5RC_t *rc; IN: Ref-counted object to decrement count for - - RETURNS - SUCCEED/FAIL - DESCRIPTION - Decrements the reference count for a ref-counted object, calling the - object's free function if ref-count drops to zero. - GLOBAL VARIABLES - COMMENTS, BUGS, ASSUMPTIONS - EXAMPLES - REVISION LOG ---------------------------------------------------------------------------*/ -herr_t -H5RC_decr(H5RC_t *rc) -{ - herr_t ret_value = SUCCEED; /* Return value */ - - FUNC_ENTER_NOAPI(FAIL) - - /* Sanity check */ - HDassert(rc); - HDassert(rc->o); - HDassert(rc->n > 0); - HDassert(rc->free_func); - - /* Decrement reference count */ - rc->n--; - - /* Check if we should delete this object now */ - if(rc->n == 0) { - if((rc->free_func)(rc->o) < 0) { - rc = H5FL_FREE(H5RC_t, rc); - HGOTO_ERROR(H5E_RS, H5E_CANTFREE, FAIL, "memory release failed") - } /* end if */ - rc = H5FL_FREE(H5RC_t, rc); - } /* end if */ - -done: - FUNC_LEAVE_NOAPI(ret_value) -} /* end H5RC_decr() */ - diff --git a/src/H5RCprivate.h b/src/H5RCprivate.h deleted file mode 100644 index 2fe3551..0000000 --- a/src/H5RCprivate.h +++ /dev/null @@ -1,63 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright by The HDF Group. * - * Copyright by the Board of Trustees of the University of Illinois. * - * All rights reserved. * - * * - * This file is part of HDF5. The full HDF5 copyright notice, including * - * terms governing use, modification, and redistribution, is contained in * - * the files COPYING and Copyright.html. COPYING can be found at the root * - * of the source code distribution tree; Copyright.html can be found at the * - * root level of an installed copy of the electronic HDF5 document set and * - * is linked from the top-level documents page. It can also be found at * - * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * - * access to either file, you may request a copy from help@hdfgroup.org. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -/* - * This file contains private information about the H5RC module - */ -#ifndef _H5RCprivate_H -#define _H5RCprivate_H - -/**************************************/ -/* Public headers needed by this file */ -/**************************************/ -#ifdef LATER -#include "H5RCpublic.h" -#endif /* LATER */ - -/***************************************/ -/* Private headers needed by this file */ -/***************************************/ -#include "H5private.h" - -/************/ -/* Typedefs */ -/************/ - -/* Typedef for function to release object when reference count drops to zero */ -typedef herr_t (*H5RC_free_func_t)(void *o); - -/* Typedef for reference counted objects */ -typedef struct H5RC_t { - void *o; /* Object to be reference counted */ - size_t n; /* Reference count of number of pointers sharing object */ - H5RC_free_func_t free_func; /* Function to free object */ -} H5RC_t; - -/**********/ -/* Macros */ -/**********/ -#define H5RC_INC(rc) ((rc)->n++) -#define H5RC_DEC(rc) (H5RC_decr(rc)) -#define H5RC_GET_OBJ(rc) ((rc)->o) - -/********************/ -/* Private routines */ -/********************/ -H5_DLL H5RC_t *H5RC_create(void *s, H5RC_free_func_t free_func); -H5_DLL herr_t H5RC_decr(H5RC_t *rc); - -#endif /* _H5RSprivate_H */ - - diff --git a/src/H5UC.c b/src/H5UC.c new file mode 100644 index 0000000..5762cc5 --- /dev/null +++ b/src/H5UC.c @@ -0,0 +1,130 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * Reference counting buffer algorithms. + * + * These are used for various internal buffers which are shared. + * + * The module used to be H5RC, but changed to H5UC because of + * conflicting requirement for the use of H5RC. + * + */ + + +#include "H5Eprivate.h" /* Error handling */ +#include "H5FLprivate.h" /* Free lists */ +#include "H5UCprivate.h" /* Reference-counted buffers */ + +/* Private typedefs & structs */ + +/* Declare a free list to manage the H5UC_t struct */ +H5FL_DEFINE_STATIC(H5UC_t); + + +/*-------------------------------------------------------------------------- + NAME + H5UC_create + PURPOSE + Create a reference counted object + USAGE + H5UC_t *H5UC_create(o,free) + const void *o; IN: Object to initialize ref-counted object with + H5UC_free_func_t free; IN: Function to call when ref-count drop to zero + + RETURNS + Returns a pointer to a new ref-counted object on success, NULL on failure. + DESCRIPTION + Create a reference counted object. The object is not duplicated, it is + assumed to be owned by the reference counted object now and will be freed + with the 'free' function when the reference count drops to zero. + GLOBAL VARIABLES + COMMENTS, BUGS, ASSUMPTIONS + EXAMPLES + REVISION LOG +--------------------------------------------------------------------------*/ +H5UC_t * +H5UC_create(void *o, H5UC_free_func_t free_func) +{ + H5UC_t *ret_value; /* Return value */ + + FUNC_ENTER_NOAPI(NULL) + + /* Sanity check */ + HDassert(o); + HDassert(free_func); + + /* Allocate ref-counted string structure */ + if(NULL == (ret_value = H5FL_MALLOC(H5UC_t))) + HGOTO_ERROR(H5E_RS,H5E_NOSPACE,NULL,"memory allocation failed") + + /* Set the internal fields */ + ret_value->o = o; + ret_value->n = 1; + ret_value->free_func = free_func; + +done: + FUNC_LEAVE_NOAPI(ret_value) +} /* end H5UC_create() */ + + +/*-------------------------------------------------------------------------- + NAME + H5UC_decr + PURPOSE + Decrement the reference count for a ref-counted object + USAGE + herr_t H5UC_decr(rc) + H5UC_t *rc; IN: Ref-counted object to decrement count for + + RETURNS + SUCCEED/FAIL + DESCRIPTION + Decrements the reference count for a ref-counted object, calling the + object's free function if ref-count drops to zero. + GLOBAL VARIABLES + COMMENTS, BUGS, ASSUMPTIONS + EXAMPLES + REVISION LOG +--------------------------------------------------------------------------*/ +herr_t +H5UC_decr(H5UC_t *rc) +{ + herr_t ret_value = SUCCEED; /* Return value */ + + FUNC_ENTER_NOAPI(FAIL) + + /* Sanity check */ + HDassert(rc); + HDassert(rc->o); + HDassert(rc->n > 0); + HDassert(rc->free_func); + + /* Decrement reference count */ + rc->n--; + + /* Check if we should delete this object now */ + if(rc->n == 0) { + if((rc->free_func)(rc->o) < 0) { + rc = H5FL_FREE(H5UC_t, rc); + HGOTO_ERROR(H5E_RS, H5E_CANTFREE, FAIL, "memory release failed") + } /* end if */ + rc = H5FL_FREE(H5UC_t, rc); + } /* end if */ + +done: + FUNC_LEAVE_NOAPI(ret_value) +} /* end H5UC_decr() */ + diff --git a/src/H5UCprivate.h b/src/H5UCprivate.h new file mode 100644 index 0000000..a702c03 --- /dev/null +++ b/src/H5UCprivate.h @@ -0,0 +1,66 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/* + * This file contains private information about the H5UC module + * The module used to be H5RC, but changed to H5UC because of + * conflicting requirement for the use of H5RC. + */ + +#ifndef _H5UCprivate_H +#define _H5UCprivate_H + +/**************************************/ +/* Public headers needed by this file */ +/**************************************/ +#ifdef LATER +#include "H5UCpublic.h" +#endif /* LATER */ + +/***************************************/ +/* Private headers needed by this file */ +/***************************************/ +#include "H5private.h" + +/************/ +/* Typedefs */ +/************/ + +/* Typedef for function to release object when reference count drops to zero */ +typedef herr_t (*H5UC_free_func_t)(void *o); + +/* Typedef for reference counted objects */ +typedef struct H5UC_t { + void *o; /* Object to be reference counted */ + size_t n; /* Reference count of number of pointers sharing object */ + H5UC_free_func_t free_func; /* Function to free object */ +} H5UC_t; + +/**********/ +/* Macros */ +/**********/ +#define H5UC_INC(rc) ((rc)->n++) +#define H5UC_DEC(rc) (H5UC_decr(rc)) +#define H5UC_GET_OBJ(rc) ((rc)->o) + +/********************/ +/* Private routines */ +/********************/ +H5_DLL H5UC_t *H5UC_create(void *s, H5UC_free_func_t free_func); +H5_DLL herr_t H5UC_decr(H5UC_t *rc); + +#endif /* _H5RSprivate_H */ + + diff --git a/src/Makefile.am b/src/Makefile.am index 5f383e0..40b5f6b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -92,7 +92,7 @@ libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \ H5Plapl.c H5Plcpl.c H5Pocpl.c H5Pocpypl.c H5Pstrcpl.c H5Ptest.c \ H5PL.c \ H5R.c H5Rdeprec.c \ - H5RC.c \ + H5UC.c \ H5RS.c \ H5S.c H5Sall.c H5Sdbg.c H5Shyper.c H5Smpio.c H5Snone.c H5Spoint.c \ H5Sselect.c H5Stest.c \ diff --git a/src/Makefile.in b/src/Makefile.in index 1163f08..609aea5 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -160,7 +160,7 @@ am_libhdf5_la_OBJECTS = H5.lo H5checksum.lo H5dbg.lo H5system.lo \ H5Pdapl.lo H5Pdcpl.lo H5Pdeprec.lo H5Pdxpl.lo H5Pencdec.lo \ H5Pfapl.lo H5Pfcpl.lo H5Pfmpl.lo H5Pgcpl.lo H5Pint.lo \ H5Plapl.lo H5Plcpl.lo H5Pocpl.lo H5Pocpypl.lo H5Pstrcpl.lo \ - H5Ptest.lo H5PL.lo H5R.lo H5Rdeprec.lo H5RC.lo H5RS.lo H5S.lo \ + H5Ptest.lo H5PL.lo H5R.lo H5Rdeprec.lo H5UC.lo H5RS.lo H5S.lo \ H5Sall.lo H5Sdbg.lo H5Shyper.lo H5Smpio.lo H5Snone.lo \ H5Spoint.lo H5Sselect.lo H5Stest.lo H5SL.lo H5SM.lo \ H5SMbtree2.lo H5SMcache.lo H5SMmessage.lo H5SMtest.lo H5ST.lo \ @@ -589,7 +589,7 @@ libhdf5_la_SOURCES = H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \ H5Plapl.c H5Plcpl.c H5Pocpl.c H5Pocpypl.c H5Pstrcpl.c H5Ptest.c \ H5PL.c \ H5R.c H5Rdeprec.c \ - H5RC.c \ + H5UC.c \ H5RS.c \ H5S.c H5Sall.c H5Sdbg.c H5Shyper.c H5Smpio.c H5Snone.c H5Spoint.c \ H5Sselect.c H5Stest.c \ @@ -957,7 +957,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Pstrcpl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Ptest.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5R.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5RC.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5RS.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Rdeprec.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5S.Plo@am__quote@ @@ -1001,6 +1000,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tstrpad.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tvisit.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tvlen.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5UC.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5V.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5WB.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Z.Plo@am__quote@ diff --git a/src/hdf5.lnt b/src/hdf5.lnt index 1d02039..6865720 100644 --- a/src/hdf5.lnt +++ b/src/hdf5.lnt @@ -33,7 +33,7 @@ -esym(534, H5CS_push, H5CS_pop) -esym(534, H5I_clear_type, H5I_dec_type_ref) -esym(534, H5MM_xfree) --esym(534, H5RC_decr) +-esym(534, H5UC_decr) -esym(534, H5V_array_fill) diff --git a/vms/src/make.com b/vms/src/make.com index cdf0f4a..20429b2 100644 --- a/vms/src/make.com +++ b/vms/src/make.com @@ -59,7 +59,7 @@ $ cobj1= "H5MFaggr, H5MF, H5MFdbg, H5MFsection, H5MM,"+- "H5Orefcount, H5Osdspace, H5Oshared, H5Oshmesg, H5Ostab, H5Otest, H5Ounknown,"+- "H5Pacpl, H5P, H5Pdapl, H5Pdcpl, H5Pdeprec, H5Pdxpl, H5Pencdec, H5Pfapl, H5Pfcpl, H5Pfmpl, H5Pgcpl, H5Pint,"+- "H5Plapl, H5Plcpl, H5Pocpl, H5Pocpypl, H5Pstrcpl, H5Ptest,"+- - "H5R, H5RC, H5Rdeprec, H5RS, H5Sall, H5S, H5Sdbg, H5Shyper, H5SL, H5SMbtree2, H5SM, H5SMcache,"+- + "H5R, H5UC, H5Rdeprec, H5RS, H5Sall, H5S, H5Sdbg, H5Shyper, H5SL, H5SMbtree2, H5SM, H5SMcache,"+- "H5SMmessage, H5Smpio, H5SMtest, H5Snone, H5Spoint, H5Sselect, H5ST, H5Stest,"+- "H5Tarray, H5Tbit, H5T, H5Tcommit, H5Tcompound, H5Tconv, H5Tcset, H5Tdbg, H5Tdeprec, H5Tenum,"+- "H5Tfields, H5Tfixed, H5Tfloat, H5Tinit, H5Tnative, H5Toffset, H5Toh, H5Topaque, H5Torder,"+- -- cgit v0.12