hdf5/tools/lib/h5diff_util.c

365 lines
12 KiB
C
Raw Normal View History

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by The HDF Group. *
* 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 COPYING file, which can be found at the root of the source code *
* distribution tree, or in https://www.hdfgroup.org/licenses. *
* If you do not have access to either file, you may request a copy from *
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include "H5private.h"
#include "h5tools.h"
#include "h5tools_utils.h"
#include "h5diff.h"
#include "ph5diff.h"
/* global variables */
2020-09-30 22:27:10 +08:00
int g_nTasks = 1;
/*-------------------------------------------------------------------------
* Function: print_dimensions
*
* Purpose: print dimensions
*-------------------------------------------------------------------------
*/
void
2020-09-30 22:27:10 +08:00
print_dimensions(int rank, hsize_t *dims)
{
2020-09-30 22:27:10 +08:00
int i;
2020-09-30 22:27:10 +08:00
if (rank <= 0)
parallel_print("H5S_SCALAR");
2017-05-11 00:09:55 +08:00
else {
if (!dims)
parallel_print("dimension is NULL");
2017-05-11 00:09:55 +08:00
else {
parallel_print("[");
2020-09-30 22:27:10 +08:00
for (i = 0; i < rank - 1; i++) {
parallel_print("%" PRIuHSIZE, dims[i]);
parallel_print("x");
}
parallel_print("%" PRIuHSIZE, dims[rank - 1]);
2020-09-30 22:27:10 +08:00
parallel_print("]");
}
}
}
/*-------------------------------------------------------------------------
* Function: print_type
*
* Purpose: Print name of datatype
*
* Return: void
*
* Comments: Adapted from h5dump for H5T_INTEGER and H5T_FLOAT classes only
*-------------------------------------------------------------------------
*/
2020-09-30 22:27:10 +08:00
void
print_type(hid_t type)
{
2017-05-11 00:09:55 +08:00
switch (H5Tget_class(type)) {
2020-09-30 22:27:10 +08:00
case H5T_INTEGER:
if (H5Tequal(type, H5T_STD_I8BE))
parallel_print("H5T_STD_I8BE");
else if (H5Tequal(type, H5T_STD_I8LE))
parallel_print("H5T_STD_I8LE");
else if (H5Tequal(type, H5T_STD_I16BE))
parallel_print("H5T_STD_I16BE");
else if (H5Tequal(type, H5T_STD_I16LE))
parallel_print("H5T_STD_I16LE");
else if (H5Tequal(type, H5T_STD_I32BE))
parallel_print("H5T_STD_I32BE");
else if (H5Tequal(type, H5T_STD_I32LE))
parallel_print("H5T_STD_I32LE");
else if (H5Tequal(type, H5T_STD_I64BE))
parallel_print("H5T_STD_I64BE");
else if (H5Tequal(type, H5T_STD_I64LE))
parallel_print("H5T_STD_I64LE");
else if (H5Tequal(type, H5T_STD_U8BE))
parallel_print("H5T_STD_U8BE");
else if (H5Tequal(type, H5T_STD_U8LE))
parallel_print("H5T_STD_U8LE");
else if (H5Tequal(type, H5T_STD_U16BE))
parallel_print("H5T_STD_U16BE");
else if (H5Tequal(type, H5T_STD_U16LE))
parallel_print("H5T_STD_U16LE");
else if (H5Tequal(type, H5T_STD_U32BE))
parallel_print("H5T_STD_U32BE");
else if (H5Tequal(type, H5T_STD_U32LE))
parallel_print("H5T_STD_U32LE");
else if (H5Tequal(type, H5T_STD_U64BE))
parallel_print("H5T_STD_U64BE");
else if (H5Tequal(type, H5T_STD_U64LE))
parallel_print("H5T_STD_U64LE");
else if (H5Tequal(type, H5T_NATIVE_SCHAR))
parallel_print("H5T_NATIVE_SCHAR");
else if (H5Tequal(type, H5T_NATIVE_UCHAR))
parallel_print("H5T_NATIVE_UCHAR");
else if (H5Tequal(type, H5T_NATIVE_SHORT))
parallel_print("H5T_NATIVE_SHORT");
else if (H5Tequal(type, H5T_NATIVE_USHORT))
parallel_print("H5T_NATIVE_USHORT");
else if (H5Tequal(type, H5T_NATIVE_INT))
parallel_print("H5T_NATIVE_INT");
else if (H5Tequal(type, H5T_NATIVE_UINT))
parallel_print("H5T_NATIVE_UINT");
else if (H5Tequal(type, H5T_NATIVE_LONG))
parallel_print("H5T_NATIVE_LONG");
else if (H5Tequal(type, H5T_NATIVE_ULONG))
parallel_print("H5T_NATIVE_ULONG");
else if (H5Tequal(type, H5T_NATIVE_LLONG))
parallel_print("H5T_NATIVE_LLONG");
else if (H5Tequal(type, H5T_NATIVE_ULLONG))
parallel_print("H5T_NATIVE_ULLONG");
else
parallel_print("undefined integer");
break;
case H5T_FLOAT:
if (H5Tequal(type, H5T_IEEE_F32BE))
parallel_print("H5T_IEEE_F32BE");
else if (H5Tequal(type, H5T_IEEE_F32LE))
parallel_print("H5T_IEEE_F32LE");
else if (H5Tequal(type, H5T_IEEE_F64BE))
parallel_print("H5T_IEEE_F64BE");
else if (H5Tequal(type, H5T_IEEE_F64LE))
parallel_print("H5T_IEEE_F64LE");
else if (H5Tequal(type, H5T_NATIVE_FLOAT))
parallel_print("H5T_NATIVE_FLOAT");
else if (H5Tequal(type, H5T_NATIVE_DOUBLE))
parallel_print("H5T_NATIVE_DOUBLE");
else if (H5Tequal(type, H5T_NATIVE_LDOUBLE))
parallel_print("H5T_NATIVE_LDOUBLE");
else
parallel_print("undefined float");
break;
case H5T_BITFIELD:
if (H5Tequal(type, H5T_STD_B8BE))
parallel_print("H5T_STD_B8BE");
else if (H5Tequal(type, H5T_STD_B8LE))
parallel_print("H5T_STD_B8LE");
else if (H5Tequal(type, H5T_STD_B16BE))
parallel_print("H5T_STD_B16BE");
else if (H5Tequal(type, H5T_STD_B16LE))
parallel_print("H5T_STD_B16LE");
else if (H5Tequal(type, H5T_STD_B32BE))
parallel_print("H5T_STD_B32BE");
else if (H5Tequal(type, H5T_STD_B32LE))
parallel_print("H5T_STD_B32LE");
else if (H5Tequal(type, H5T_STD_B64BE))
parallel_print("H5T_STD_B64BE");
else if (H5Tequal(type, H5T_STD_B64LE))
parallel_print("H5T_STD_B64LE");
else
parallel_print("undefined bitfield");
break;
case H5T_TIME:
case H5T_STRING:
case H5T_OPAQUE:
case H5T_COMPOUND:
case H5T_REFERENCE:
case H5T_ENUM:
case H5T_VLEN:
case H5T_ARRAY:
case H5T_NO_CLASS:
case H5T_NCLASSES:
default:
return;
} /* end switch */
}
/*-------------------------------------------------------------------------
* Function: diff_basename
*
* Purpose: Returns a pointer to the last component absolute name
*-------------------------------------------------------------------------
*/
2020-09-30 22:27:10 +08:00
H5_ATTR_PURE const char *
diff_basename(const char *name)
{
size_t i;
2020-09-30 22:27:10 +08:00
if (name == NULL)
return NULL;
/* Find the end of the base name */
i = strlen(name);
2020-09-30 22:27:10 +08:00
while (i > 0 && '/' == name[i - 1])
--i;
/* Skip backward over base name */
2020-09-30 22:27:10 +08:00
while (i > 0 && '/' != name[i - 1])
--i;
2020-09-30 22:27:10 +08:00
return (name + i);
}
/*-------------------------------------------------------------------------
* Function: get_type
*
* Purpose: Returns the type as a string
*-------------------------------------------------------------------------
*/
2020-09-30 22:27:10 +08:00
H5_ATTR_CONST const char *
get_type(h5trav_type_t type)
{
2020-09-30 22:27:10 +08:00
switch (type) {
case H5TRAV_TYPE_DATASET:
2020-09-30 22:27:10 +08:00
return ("H5G_DATASET");
case H5TRAV_TYPE_GROUP:
2020-09-30 22:27:10 +08:00
return ("H5G_GROUP");
case H5TRAV_TYPE_NAMED_DATATYPE:
2020-09-30 22:27:10 +08:00
return ("H5G_TYPE");
case H5TRAV_TYPE_LINK:
2020-09-30 22:27:10 +08:00
return ("H5G_LINK");
case H5TRAV_TYPE_UDLINK:
2020-09-30 22:27:10 +08:00
return ("H5G_UDLINK");
case H5TRAV_TYPE_UNKNOWN:
default:
2020-09-30 22:27:10 +08:00
return ("unknown type");
}
}
/*-------------------------------------------------------------------------
* Function: get_sign
*
* Purpose: Returns the sign as a string
*-------------------------------------------------------------------------
*/
2020-09-30 22:27:10 +08:00
H5_ATTR_CONST const char *
get_sign(H5T_sign_t sign)
{
2020-09-30 22:27:10 +08:00
switch (sign) {
case H5T_SGN_NONE:
return "H5T_SGN_NONE";
case H5T_SGN_2:
return "H5T_SGN_2";
case H5T_SGN_ERROR:
return "H5T_SGN_ERROR";
case H5T_NSGN:
return "H5T_NSGN";
default:
return "unknown sign value";
} /* end switch */
}
/*-------------------------------------------------------------------------
* Function: get_class
*
* Purpose: Returns the class as a string
*-------------------------------------------------------------------------
*/
2020-09-30 22:27:10 +08:00
H5_ATTR_CONST const char *
get_class(H5T_class_t tclass)
{
2020-09-30 22:27:10 +08:00
switch (tclass) {
case H5T_TIME:
2020-09-30 22:27:10 +08:00
return ("H5T_TIME");
case H5T_INTEGER:
2020-09-30 22:27:10 +08:00
return ("H5T_INTEGER");
case H5T_FLOAT:
2020-09-30 22:27:10 +08:00
return ("H5T_FLOAT");
case H5T_STRING:
2020-09-30 22:27:10 +08:00
return ("H5T_STRING");
case H5T_BITFIELD:
2020-09-30 22:27:10 +08:00
return ("H5T_BITFIELD");
case H5T_OPAQUE:
2020-09-30 22:27:10 +08:00
return ("H5T_OPAQUE");
case H5T_COMPOUND:
2020-09-30 22:27:10 +08:00
return ("H5T_COMPOUND");
case H5T_REFERENCE:
2020-09-30 22:27:10 +08:00
return ("H5T_REFERENCE");
case H5T_ENUM:
2020-09-30 22:27:10 +08:00
return ("H5T_ENUM");
case H5T_VLEN:
2020-09-30 22:27:10 +08:00
return ("H5T_VLEN");
case H5T_ARRAY:
2020-09-30 22:27:10 +08:00
return ("H5T_ARRAY");
case H5T_NO_CLASS:
case H5T_NCLASSES:
default:
2020-09-30 22:27:10 +08:00
return ("Invalid class");
} /* end switch */
} /* end get_class() */
/*-------------------------------------------------------------------------
* Function: print_found
*
* Purpose: print number of differences found
*-------------------------------------------------------------------------
*/
2020-09-30 22:27:10 +08:00
void
print_found(hsize_t nfound)
{
2020-09-30 22:27:10 +08:00
if (g_Parallel)
Squash my changes on branch `fprintf-experiment` into one commit for reapplication to my new warnings branch, `warnings-again`. These changes are included: commit 915551b7bf64e777dd2007386ec77b1d117770da Merge: 63858c2 a8892bb Author: David Young <dyoung@hdfgroup.org> Date: Mon Nov 25 17:39:49 2019 -0600 Merge remote-tracking branch 'hdf5/develop' into fprintf-experiment commit a8892bb42d6f6e4fbc30fae0eb2b957f81c938b9 Merge: 5c911d8 f907b51 Author: David Young <dyoung@hdfgroup.org> Date: Mon Nov 25 17:33:54 2019 -0600 Merge pull request #2055 in HDFFV/hdf5 from ~DYOUNG/vchoi_fork:add-werror-and-squash-some to develop * commit 'f907b511d06612dafc7814a7c30f2f3d2b76d52b': Oops, remove more C99 designated initializers for VS 2010 compatibility. commit 63858c22e168acaec0af8ced6641f26102cc6bb0 Merge: 20ae787 5c911d8 Author: David Young <dyoung@hdfgroup.org> Date: Mon Nov 25 17:04:42 2019 -0600 Merge remote-tracking branch 'hdf5/develop' into fprintf-experiment commit 5c911d8baf3ee7fe654269088eebdf07f59a8192 Merge: b8a5671 62208b0 Author: David Young <dyoung@hdfgroup.org> Date: Mon Nov 25 16:58:27 2019 -0600 Merge pull request #2030 in HDFFV/hdf5 from ~DYOUNG/vchoi_fork:add-werror-and-squash-some to develop * commit '62208b056a09c01855fbac7f75146be58ad6bfe5': (44 commits) Add an #include to get a function declaration. Don't use C99 designated initializers, they're not compatible with Visual Studio 2010. Quiet some more maybe-uninitialized warnings---each is a false positive, *sigh*. This is more code that may not compile with VS2010, *sigh sigh*. Always warn on maybe-uninitialized. -Wincompatible-pointer-types was not available until GCC 5, so enable it only if that's the GCC version we're using. Only promote maybe-uninitialized warnings to errors on GCC 8. Even on GCC 8, there may be false positives at low optimization levels? I need to check. Only use -Werror=cast-function-type with GCC 8 and later. Put all of the -W options back into the order I found them in so that it's easier to compare old and new config/gnu-flags. Add new source files to CMakeLists.txt. Mention the -Werror= flags in libhdf5.settings.in. free -> HDfree Promote decleration-after-statement warnings to errors. Quiet decleration-after-statement warnings. Move a statement under some declarations since some vintages of Visual Studio don't like declarations after statements. Document H5D__chunk_mem_xfree_wrapper(). Undo accidental test deletion. Oops, delete a debug printf that snuck in here. Undo my changes to the HD macros, hadn't really intended those to be on this branch.... Make errors of some more warnings. Move disabled warnings to DEVELOPER_WARNING_CFLAGS. Put just one warning option on a line, and sort some of the options. Cast to the parameter type, H5VL_token_t *, instead of to unsigned char *. Change hdset_reg_ref_t and H5R_ref_t from arrays of unsigned char to structs containing those arrays. Encapsulating the arrays in this way makes it easier to write and think about pointers to these types, casts to/from these types, etc. ... commit 20ae7877e33931b95e8c3502b027d6c3fe94a11f Merge: 46f8c61 edd5297 Author: David Young <dyoung@hdfgroup.org> Date: Fri Nov 22 15:34:09 2019 -0600 Merge remote-tracking branch 'origin/add-werror-and-squash-some' into fprintf-experiment commit 46f8c613d5117a8be5bc8385a072daa0b4262f06 Author: David Young <dyoung@hdfgroup.org> Date: Fri Nov 22 15:29:00 2019 -0600 GCC really wants us to use `ll` to format `long long`, so try to make that work before any other format modifier. Seems like we're not compiling the autoconf test program with -Werror=format ? Probably should. commit eee35b8ef3759c391327cd48a9b3c56b6f8abc99 Author: David Young <dyoung@hdfgroup.org> Date: Fri Nov 22 15:28:05 2019 -0600 It's hard to know just how wide an HDoff_t will be, and I don't think POSIX or C standards provide a PRI macro for it, so cast to intmax_t and format using PRIdMAX. commit 86eab12df7a89b546a38e99f8178dd2adbcb3433 Author: David Young <dyoung@hdfgroup.org> Date: Fri Nov 22 15:26:25 2019 -0600 URemove some casts.se the right format string for the argument. Here and there stop casting a printf argument. commit f722f7cbecbaa99449941484b014426f62f1bed5 Merge: 58e3743 6d5ec83 Author: David Young <dyoung@hdfgroup.org> Date: Fri Nov 22 14:44:16 2019 -0600 Merge branch 'add-werror-and-squash-some' into fprintf-experiment commit 58e3743b7faa9836606ee91798fe80dfc0040da7 Author: David Young <dyoung@hdfgroup.org> Date: Wed Nov 20 21:07:21 2019 -0600 Remove custom HDfprintf implementation, using the standard library's, instead. Take a swipe at repairing fprintf format strings, mainly replacing "%Hu" with "%" PRIuHSIZE, "%a" with "%" PRIuHADDR, "%Zu" with "%zu". Here and there remove an awkward cast of a printf argument to `long long` and use PRI[doux]8, PRI[doux]32, or PRI[doux]64, instead. Change occurrences of "%t" to "%s" and perform a suitable change of argument, `cond` -> `cond ? "TRUE" : "FALSE"`. Some occurrences of %Hu, %a, and %t remain, they just weren't flagged by the compiler because of #ifdef'age. commit d4366909293fa970c23512ac80e5d865d76cddbf Author: David Young <dyoung@hdfgroup.org> Date: Wed Nov 20 20:54:32 2019 -0600 Promote format-string warnigns to errors.
2019-11-28 03:58:43 +08:00
parallel_print("%" PRIuHSIZE " differences found\n", nfound);
else
fprintf(stdout, "%" PRIuHSIZE " differences found\n", nfound);
}
/*-----------------------------------------------------------------
* Function: match_up_memsize
*
* Purpose: match smaller memory size up to bigger memory size
*------------------------------------------------------------------
*/
2020-09-30 22:27:10 +08:00
herr_t
match_up_memsize(hid_t f_tid1_id, hid_t f_tid2_id, hid_t *m_tid1, hid_t *m_tid2, size_t *m_size1,
size_t *m_size2)
{
herr_t ret_value = SUCCEED;
Cleanup tools debug build warnings (#627) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * HDFFV-11113 long double in tools * HDFFV-11113 add note * Disable long double tests for now * HDFFV-11228 remove arbitrary CMake warning groups. * Make each flag a string * Some Javadoc warning fixes * Updated javadoc fixes * # WARNING: head commit changed in the meantime HDFFV-11229 Fix long double usage in tools and java Changed h5dump and h5ls to just print 128-bit for long double type. Added test and file for dataset and attributes with all three float types. * Committing clang-format changes * HDFFV-11229 Add release note * HDFFV-11229 windows testfile needed * fix typo * Remove non supported message text * HDFFV-11229 - change ldouble test to check both native and general * HDFFV-11229 add second file compare * HDFFV-11229 fix reference file * HDFFV-11229 autotools check two refs * HDFFV-11229 revert back to removal of NATIVE_LDOUBLE in tools output * Committing clang-format changes * Update release note * Update attribute type of ref file * Change source of ninja for macs * try port instead of brew * Recommended is to use brew. * Undo non long double changes * remove unneeded file * Fix perl and doxygen CMake code * Add "option" command for clang options * Rework CMake add_custom to use the BYPRODUCTS argument * Add stamp files to BYPRODUCTS * Only one copy of file exists * Fix custom cmmand depends targets * Fix fortran custom command DEPENDS * Add LD_LIBRARY_PATH to tests * Add custom target for DEPENDS * Add h5detect conditionaly to generated target DEPENDS * Correct DEPENDS targets * Parallel builds need the mpi compiler for pkgconfig scripts. * install only if MPI build * Fortran target depends * Remove incorrect source attribute * doxygen adjustments * doxygen build updates * Correct version * Correct function version - function has been merged to 1.12 * Correct version string for map functions * Cleanup warnings for tools debug builds Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-05-06 06:08:10 +08:00
H5TOOLS_START_DEBUG(" ");
2020-09-30 22:27:10 +08:00
if ((*m_size1) != (*m_size2)) {
if ((*m_size1) < (*m_size2)) {
H5Tclose(*m_tid1);
2020-09-30 22:27:10 +08:00
if (((*m_tid1) = H5Tget_native_type(f_tid2_id, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tget_native_type failed");
*m_size1 = H5Tget_size(*m_tid1);
} /* end if */
else {
H5Tclose(*m_tid2);
2020-09-30 22:27:10 +08:00
if (((*m_tid2) = H5Tget_native_type(f_tid1_id, H5T_DIR_DEFAULT)) < 0)
H5TOOLS_GOTO_ERROR(FAIL, "H5Tget_native_type failed");
*m_size2 = H5Tget_size(*m_tid2);
} /* end else */
2020-09-30 22:27:10 +08:00
} /* end if */
if ((*m_size1) != (*m_size2))
H5TOOLS_GOTO_ERROR(FAIL, "native type sizes do not compare");
done:
Cleanup tools debug build warnings (#627) * OESS-98 convert plugin option to FetchContent, add tests * Fixes for pkcfg files because of plugin option * OESS-98 fix tools test for plugins * Keep doxygen comments under 100 chars long - format hint * Whitespace * HDFFV-11144 - Reclassify CMake messages * HDFFV-11099/11100 added help text * Reworked switch statement to compare string instead * Fix typo * Update CDash mode * Correct name of threadsafe * Correct option name * Undo accidental commit * Note LLVM 10 to 11 format default changes * Update format plugin * Undo clang-format version 11 changes * One more correction * Update supported platforms * Revert whitespace changes * Correct whitespace * Changes from PR#3 * HDFFV-11213 added option to control gcc10 warnings diagnostics * HDFFV-11212 Use the new references correctly in JNI utility and tests * format source * Fix typo * Add new test file * HDFFV-11212 - update test and remove unused arg * Minor non-space formatting changes * Use H5I_INVALID_ID instead of "-1" * source formatting * add missing testfile, update jni function * Undo commit of debug code * remove mislocated file * Fix h5repack test for handling of fapls and id close * Update h5diff test files usage text * HDFFV-11212 add new ref tests for JNI export dataset * src format update * Remove blank line typo * src format typo * long double requires %Lg * Another long double foramt specifer S.B. %Lg * issue with t128bit test * Windows issue with h5dump and type. * Fix review issues * refactor function nesting and fix error checks * format fixes * Remove untested functions and javadoc quiet comments * Restore TRY block. * Change string append errors to memory exception * revert to H5_JNI_FATAL_ERROR - support functions need work * Add assertion error for h5util functions * remove duplicate function * format fix * Revert HD function error handling * Update copyright comments * GH #386 java folder copyright corrections * Whitespace * GH #359 implement and fix tools 1.6 API usage * remove excessive comments * Flip inits to correct ifdef section * rework ifdef to be simpler * format issue * Reformat ifdef inits * remove static attribute * format compliance * Update names * Revert because logic relies on float not being int * Changes noticed from creating merge of #412 * Double underscore change * Correct compiler version variable used * Remove header guard underscores * Whitespace cleanup * Split format source and commit changes on repo push * remove pre-split setting * Change windows TS to use older VS. * correct window os name * HDFFV-11212 JNI export util and Javadoc * Suggested review changes * Another change found * Committing clang-format changes * HDFFV-11113 long double in tools * HDFFV-11113 add note * Disable long double tests for now * HDFFV-11228 remove arbitrary CMake warning groups. * Make each flag a string * Some Javadoc warning fixes * Updated javadoc fixes * # WARNING: head commit changed in the meantime HDFFV-11229 Fix long double usage in tools and java Changed h5dump and h5ls to just print 128-bit for long double type. Added test and file for dataset and attributes with all three float types. * Committing clang-format changes * HDFFV-11229 Add release note * HDFFV-11229 windows testfile needed * fix typo * Remove non supported message text * HDFFV-11229 - change ldouble test to check both native and general * HDFFV-11229 add second file compare * HDFFV-11229 fix reference file * HDFFV-11229 autotools check two refs * HDFFV-11229 revert back to removal of NATIVE_LDOUBLE in tools output * Committing clang-format changes * Update release note * Update attribute type of ref file * Change source of ninja for macs * try port instead of brew * Recommended is to use brew. * Undo non long double changes * remove unneeded file * Fix perl and doxygen CMake code * Add "option" command for clang options * Rework CMake add_custom to use the BYPRODUCTS argument * Add stamp files to BYPRODUCTS * Only one copy of file exists * Fix custom cmmand depends targets * Fix fortran custom command DEPENDS * Add LD_LIBRARY_PATH to tests * Add custom target for DEPENDS * Add h5detect conditionaly to generated target DEPENDS * Correct DEPENDS targets * Parallel builds need the mpi compiler for pkgconfig scripts. * install only if MPI build * Fortran target depends * Remove incorrect source attribute * doxygen adjustments * doxygen build updates * Correct version * Correct function version - function has been merged to 1.12 * Correct version string for map functions * Cleanup warnings for tools debug builds Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2021-05-06 06:08:10 +08:00
H5TOOLS_ENDDEBUG(" ");
return ret_value;
}